PLSQL学习 基础知识.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PLSQL学习 基础知识

PLSQL学习(一) 基础知识 ? ??? 很久以前自己整理的PLSQL一些基础知识,翻出来看看都是比较基础的内容,还是放上来好了。参考的资料是《PL/SQL用户指南与参考》中译版,觉得这是一部很不错的入门书,感谢把这本书翻译出来的网友。 ? ? 1、乘方的不同应用: ? ??? 在SQL中乘方只能使用函数Power(a,b)来计算 ??? 但在PLSQL中可直接使用a**b表示 ? 2、赋值语句Returning: ? ?? insert into t1 values ( 90 , SERVICE , BEIJING ) ?? Returning rowid , name into row_id,info; ??? 注:只限insert、update、delete一条记录时进行赋值 ? 3、自定义参数——: ? ??? 可SQL和PLSQL中均可使用自定义参数,即需要自己输入值的参数 ??? select * from ldcom where comcode=a andname=b; ??? PLSQL: ??? declare i int := a;?? n int := b; ? 4、绑定变量的使用: ? ??? 可使用绑定变量的办法提高SQL效率 ? ??? SQL variable x number ; ??? SQL exec :x := 8600 ; ??? SQL select * from ldcom where comcode= :x ; ??? 注:PLSQL中的declare即隐士绑定,无需再申明 ? ??? 可用Print查看绑定变量? SQL print x; ??? 也可使用查询? SQL select :x from dual; ? ??? 实际的简单应用: ??? ? ??? variable x number ; ? ??? declare ????? v_date date ; ??? begin ????? for i in 1 .. 10 loop :x := i; select sysdate +:x into v_date from dual; dbms_output.put_line(v_date); end loop ; end ; ??? / ? ??? 在execute immediate中的应用: ??? ? ??? declare ??? v_x t1.num% type ; ??? begin ??? execute immediate update t1 set num=8888 where id=:a returning num into :b ??? using 2 returning into v_x; ??? dbms_output.put_line(v_x); ??? end ; ??? 注意returning的返回值在动态SQL中的操作格式 ? 5、%TYPE和%ROWTYPE的区别: ? ??? %TYPE针对某一字段类型(数组也是单一的类型) ??? %ROWTYPE针对某一整表的类型(游标也是整表) ? 6、计数循环的逆序法: ? ??? for i in reverse 10 .. 100 loop ??? 注意reverse的位置不要记错 ? 7、一般的游标使用法: ? ??? 1、游标的正常使用需要四步 ? ??? 定义游标 ??? cursor c2(dept_no number default 10 ) is----dept_no的方法 ??? select name ,agentcode from laagent where rownum = dept_no; ??? ②打开游标 ??? open c3(dept_no = 20 ); ---- dept_no ??? ③提取游标数据 ??? fetch c2 into dept_name,dept_loc; ---- ??? fetch c3 into deptrec; ----deptrec 为 rowtype ??? exit when c3% notfound ; ??? ④关闭游标 ??? CLOSE c3; ??? 游标属性 ??? % FOUND -- , 则值为 TRUE ; ??? % NOTFOUND -- 布尔型属性,与 %FOUND 相反; ??? % ISOPEN -- 布尔型属性,当游标已打开时返回 TRUE ; ??? %

文档评论(0)

almm118 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档