创建存储过程,语法:
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
------------------------------ ------------------------------
我们看到数据表里没有数据!
procedure 小应用
最新推荐文章于 2023-02-08 13:53:16 发布