网站大量收购独家精品文档,联系QQ:2885784924

第八次课oracle【存储过程与触发器】.doc

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八次课oracle【存储过程与触发器】

Oracle的存储过程与触发器 oracle第八次课存储过程与触发器 今天我们主要讲的是存储过程与触发器,存储过程与前面讲的函数没有什么区别,唯一的区别就是没有返回值 下面我们来看一看这个创建的语法 create or replace procedure procedure_name(参数) is ....... 下面我们来举一个例子 create or replace procedure myp1(myxb in varchar2) is my_age number; begin select age into my_age from ts019student where xb = myxb; dbms_output.put_line(my_age); exception when NO_DATA_FOUND then --when others then dbms_output.put_line(没有发现数据!); end; --下面我们来调用这个存储过程 declare begin myp1(abc); end; --上面的过程我们使用的是in 同样的道理,我们可以使用 out create or replace procedure myp2(myxb in varchar2, my_xm out varchar2) is my_age number; begin select age into my_age from ts019student where xb = myxb; select xn into my_xm from ts019student where xb = myxb; --上面的两句话等价于下面的一句话 --select age,xn into my_age ,my_xm from ts019student where xb = myxb; dbms_output.put_line(my_age); exception when NO_DATA_FOUND then Dbms_output.put_line(没有发现数据!); end; --同样我们可以调用这个存储过程 declare my_xm varchar2(20); begin myp2(abc,my_xm); dbms_output.put_line(学生的姓名是:||my_xm); end; --我们可以查询一下是不是这个数据 select * from ts019student /* 存储过程也是支持in out 的,比如我们来测试一下就知道了 */ create or replace procedure myp3(a in out number,b in out number) is temp number; begin temp:=a; a:=b; b:=temp; end; --调用上面的过程 declare a number:=1; b number:=2; begin dbms_output.put_line(执行之前:a=||a||;b=||b); myp3(a,b); dbms_output.put_line(执行过后:a=||a||;b=||b); end; --创建用户 create user shezhanjun identified by shezhanjun --给他赋予执行myp1存储过程的权限 grant execute on myp1 to shezhanjun --回收该权限 revoke execute on myp1 from shezhanjun --删除这个存储过程 drop procedure myp1 ---------------------------------------------------------------------------------------- 下面我们来讲我们主要的东西,就是触发器,触发器在以后中用得最多了 尤其是???级别触发器 下面我们来对触发器进行简单的介绍 触发器的定义:是被动调用的存储过程,发生一件事情的时候自动执行 可以用它来自动生成数据,启动复杂的程序逻辑,下面我们先来创建一个表 truncate table cp create table cp( cpbb number primary key, cpmc varchar2(20), kcl number, jg number, zjz number ); comment on column cp.cpbb is 产品编号; comment on

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档