创建存储过程,语法: create or replace procedure procedure_name (parameter_name in|out|in out datatype) is|as begin procedure_body; end procedure_name; 执行存储过程: 1.exec pracedure_name; 2.call pracedure_name; 先建立一个表: create table test(name varchar2(30),passwd varchar2(30)); 再创建一个存储过程,向表里添加数据: create or replace procedure yee_pro is begin insert into test values('陈林波','12082119'); end; 执行存储过程yee_pro: 1.SQL> exec yee_pro; PL/SQL procedure successfully completed 但是当我用call方法去执行时就出错了: 2.SQL> call yee_pro; call yee_pro ORA-06576: not a valid function or procedure name 注:我明明创建了yee_pro存储过程的,怎么这里提示为无效的过程名呢? 但是当我建立一个带参数的存储过程,call调用时,能调用执行! 难道call procedure时必须是过程带有参数吗? 查看test表里的数据: SQL> select * from test; NAME PASSWD ------------------------------ ------------------------------ 陈林波 12082119 注:每次执行此存储过程,都会向表里添加一条数据(当然,这些数据都是相同的)。 创建一个存储过程,删除表里的数据: create or replace procedure yee_pro01 is begin delete from test where name='陈林波'; end; 用exec执行成功了,但是call方法就是不成功。 查看表里的数据,验证我的yee_pro01存储过程是否执行成功: SQL> select * from test; NAME PASSWD ------------------------------ ------------------------------ 我们看到数据表里没有数据!