一个Oracle存储过程入门级实例.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle Oracle 一个OOrraaccllee存储过程入门级实例 存储过程是在面试中常被问到的程序员必备技能之一。很多朋友被问到时唯唯诺诺,吞 吞吐吐,明显自信不足。其实存储过程无外乎就是特定的功能,在特定的层次实现。这些朋 友可能会触发器,但是不怎么用存储过程而已。久而久之,谈虎色变。沈阳治疗白癜风为此 作者写了一个 Oracle 存储过程的入门级例子,用实例来帮这些朋友对存储过程 say Hello,world!。只希望可以方便到大家。 1sql 语句创建一个用户信息表 user_info CREATETABLE user_info ( idVARCHAR2(4), name VARCHAR2(15), pwdVARCHAR2(15), address VARCHAR2(30) ); 2sql 语句创建一个存储过程 AddNewUser CREATEOR REPLACE PROCEDUREAddNewUser ( n_iduser_info.id%TYPE, n_nameuser_info.name%TYPE, n_pwduser_info.pwd%TYPE, n_address user_info.address%TYPE ) AS BEGIN --向表中插入数据 INSERTINTOuser_info(id,name,pwd,address) VALUES(n_id,n_name,n_pwd,n_address); ENDAddNewUser; / 表有了,存储过程有了,那么什么时候调用呢,又是如何调用的呢? 3 存储过程的调用 --下面我们利用PL/SQL 匿名块调用该过程 DECLARE --描述新用户的变量 v_iduser_info.id%TYPE:= u002; v_nameuser_info.name%TYPE:= wish; v_pwduser_info.pwd%TYPE:= history; v_adduser_info.address%TYPE :=shanghai; BEGIN --调用过程,添加wish用户到数据库 AddNewUser(v_id,v_name,v_pwd,v_add); DBMS_OUTPUT.PUT_LINE(用户 || v_name || 已经成功插入); END; / 证明存储过程编写 OK 我们在程序中(或者 sql 可以出现的任何地方),使用 sql 调用我们刚写好的存储 过程: --利用EXEC()直接插入 EXECAddNewUser(u003,jian,jian,beijing); --或 EXECUTEAddNewUser(u004,zhang,zhang,beijing); 完毕。 细心地读者会发现:存储过程不就是对 sql 语句的封装么?有了 AddNewUser 这 个存储过程,每次插入的时候我们不用写 sql 语句 insert ... 了。 很对,存储过程本质上就是对业务关系复杂的 sql 语句的封装。sql 语句以程序块 的形式被封装在了数据库中了。沈阳治疗白癜风最好的医院写好了以后,无论是 java,还 是 .net ,抑或其他开发语言,可以像使用 sql 语句那样随意调用。这就是数据库开发。 另外,过程与函数的差别:函数与过程有很多相似的地方,但也有一些差别,其中 的一点就是,过程的参数可以有三种模式(IN、OUT、IN OUT),而函数只有一种(

文档评论(0)

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

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

1亿VIP精品文档

相关文档