决意分如下几块来展述:
1,
构建存储过程语法,请参考官方文档(sql references)---create procedure
摘录下大体语法如下:
create or replace procecure zxy ---zxy为创建的存储过程名字,or replace为重建存储过程
(arg in datatype default defaultvalue) --默认为in,也可以为out或in out(故名思义:输入输出参数,皆相对于创建的存储过程而言)
authid current_user --此参数指定运行此存储过程,是以创建它的用户身份或以当前用户身份,authid后跟随合理值为:current_user或者definer
is
plsql块 ---比如:begin end定义块
2,创建存储过程
conn zxy/system --注:以一般用户创建存储过程,须具备create procedure权限,其它同理
create or replace procedure p_insert(v_a int)
as
begin
insert into tt values(v_a);
commit;
other;---在此调用另一个存储过程other,具体创建过程,请继续往下看
end;
create or replace procedure other
as
begin
execute immediate 'truncate table tt'; --在存储过程调用ddl语句,请用dbms_sql或者execute immediate包装,不然提示编译错误
end;
3,调试及执行存储过程
调试吗,没有什么好听的,第2步创建完毕,就创建完了,如果提示出错,输入
show err --可多次调试存储过程,直至成功创建
下面我们说说执行
exec p_insert(2) ---在sqlplus或其它开发工具中(oracle支持)
4,查看存储过程定义
break on name ---格式化语句,表示对于有重复列值的name,仅显示第一次
select name,text from user_source;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-630237/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-630237/