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

07_PLSQL编程.doc

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

PL / SQL编程 Oracle中的高级编程 —— PL/SQL SQL语句上的一个分支,但是PL/SQL只适合于oracle SQL语句没什么区别: 按固定格式编写即可: declare 变量 begin 执行SQL语句,也可以执行任何的输出代码 end; / 默认情况下,Oracle中的系统输出是关闭的,即,没有任何内容显示在屏幕上 declare i number ; begin -- 输出i i := 10 ; dbms_output.put_line(i = ||i) ; end ; / set serveroutput on ( 打开系统输出 完成以下功能: 要求用户可以自己输入雇员ID,同时打印出个人全部信息 在Oracle中使用可以完成信息的输入 select * from emp where empno=empno ; 希望编写一个PL/SQL块,PLSQL块之中编写用户输入信息的提示,同时,查找数据,要求输入一个雇员编号,将雇员的名字打印出来。 declare eno number ; name varchar(20) ; begin dbms_output.put_line(请输入雇员编号:) ; -- 输出i eno := empno ; -- 最终结果要的是将名字取出,同时打印 SELECT ename INTO name FROM emp WHERE empno=eno ; dbms_output.put_line(姓名是 = ||name) ; end ; / 在PLSQL之中如果没有合适的数据,则默认情况下会产生错误,与java没加try块一样 declare Begin exception End; / declare eno number ; name varchar(20) ; begin dbms_output.put_line(请输入雇员编号:) ; -- 输出i eno := empno ; -- 最终结果要的是将名字取出,同时打印 SELECT ename INTO name FROM emp WHERE empno=eno ; dbms_output.put_line(姓名是 = ||name) ; exception -- 匹配错误 WHEN no_data_found THEN dbms_output.put_line(没有这个员工) ; end ; / 在PL/SQL之中同样包含了程序的控制语言:循环、条件判断 循环 · 循环的初始条件 · 循环的结束条件 · 循环条件的变更 LOOP 循环的主体 (语句) Exit WHEN 条件 ; 修改条件 END LOOP ; 现在打印1~10 declare i number ; begin i := 1 ; loop dbms_output.put_line(i = ||i) ; exit when i=10 ; i := i + 1 ; end loop ; end ; / 问题? 给所有的员工工资增加10%。 ( 游标 如果只用循环,只能确定循环的个数 –》 count函数 LOOP .. END LOOP 循环至少执行了一次,先执行再判断 WHILE … LOOP 先判断再执行 declare i number ; begin i := 1 ; while(i=10) loop dbms_output.put_line(i = ||i) ; i := i + 1 ; end loop ; end ; / 每次都要手工修改条件,比较麻烦,通过for循环,所以在PL/SQL之中提供了专门的for循环操作 for 变量 in 最小值..最大值 loop end loop ; declare i number ; begin i := 1 ; for i in 1..10 loop dbms_output.put_line(i = ||i) ; end loop ; end ; / 条件判断: If 条件 then 语句 End if ; 求出总记录数,之后判断记录数是否大于10,如果大于10,则打印记录多余10条 declare i number ; begin select count(empno) INTO i from emp ; if i=10 then dbms_output.put_line(记录大于10条。) ; end if ; end; / If …else .. end if declare i number ; begin select c

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档