ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle10g_存储过程学习小记

oracle10g_存储过程学习小记

原创 Linux操作系统 作者:wisdomone1 时间:2010-03-23 17:00:21 0 删除 编辑

 决意分如下几块来展述:
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博客 ” ,链接:https://blog.itpub.net/9240380/viewspace-630237/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
提供针对oracle初学者及进阶的数据库培训,欢迎大家咨询: 微信: wisdomone 微信公众号: lovedb 工作经历: 中国普天 北京科蓝 北京云和恩墨 北京神州新桥

注册时间:2008-04-04

  • 博文量
    2189
  • 访问量
    12690165