第13章 Oracle高级阶段编程

第13章 Oracle高级阶段编程

ID:42389635

大小:446.38 KB

页数:22页

时间:2019-09-14

第13章 Oracle高级阶段编程_第1页
第13章 Oracle高级阶段编程_第2页
第13章 Oracle高级阶段编程_第3页
第13章 Oracle高级阶段编程_第4页
第13章 Oracle高级阶段编程_第5页
资源描述:

《第13章 Oracle高级阶段编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle高级阶段编程一、PLSQL编程PLSQL块是结构化设计程序语言,是在SQL语言上发展的一种应用,可以集中的处理各种复杂的SQL操作。Ø组成declareinumber;--变量的定义begin--SQL语句操作处理exception--异常处理end;Ø简单PL/SQL编写① 变量定义变量的定义,Oracle语言采用declare进行声明数据类型可以采用Oracle内置的数据类型。② 变量赋值变量的赋值采用【:=】③ 结果输出dbms_output.put_line('i的值'

2、

3、i);④

4、 异常处理declareinumber;--变量的定义begin--SQL语句操作处理i:=1/0;DBMS_OUTPUT.put_line('除数能为0');exceptionwhenZERO_DIVIDETHENDBMS_OUTPUT.put_line('除数不能为0');--异常处理end;相当于JAVA中try{i:=1/0;DBMS_OUTPUT.put_line('除数能为0');}catch(Exceptione){DBMS_OUTPUT.put_line('除数不能为0');}① 变量

5、绑定Oracle自身提供的工具采用的方式是&a,但是采用PL/SQLDEV工具变量绑定的方式:a.a表示变量名。对于数据库操作变量采用方式:selectenameintoename_cpfromemptwheret.empno=(:b);作业:输入一个雇员编号,请将部门名称以及所在地点进行输出DECLAREiINTEGER;DnameVARCHAR2(20);LocVARCHAR2(20);BEGINi:=(:empno);SELECTd.Dname,d.LocINTODname,LocFROMEmp

6、t,DeptdWHEREt.Deptno=d.DeptnoANDt.empno=i;Dbms_Output.Put_Line('部门编号:'

7、

8、Dname

9、

10、'部门地点:'

11、

12、Loc);END;① 字段数据类型定义1.如果直接想利用数据库表中字段的类型,采用的方式:Dnamedept.dname%type;表示dname变量数据类型与dept表中的dname字段类型一致。2.如果要输出多列的值,采用into后面直接跟上需要输出的变量名。3.如果直接代表一行数据,采用方式【emp_cpemp%rowty

13、pe;】表示变量emp_cp代表一行数据。declare--Localvariableshereiinteger;emp_cpemp%rowtype;beginselect*intoemp_cpfromempwhereempno=16;Dbms_Output.Put_Line('员工编号:'

14、

15、emp_cp.empno

16、

17、'员工姓名:'

18、

19、emp_cp.ename);end;2.如果检索的数据无记录,采用异常处理即可。exceptionwhenNO_DATA_FOUNDthendbms_output.

20、put_line('无记录');作业:打印emp表中某行的数据,要求没有数据时打印无数据,有数据时,对奖金如果为空时输出0.疑问:如果查询的结果没有对应的数据了?① 循环²Whiledeclareiinteger;begin--Teststatementsherei:=1;while(i<10)loopdbms_output.put_line('count='

21、

22、i);i:=i+1;endloop;end;While([条件表达式])loop数据库业务处理Endloop;²Loop【相当于do。。。。

23、while】declare--Localvariableshereiinteger;begin--Teststatementsherei:=1;loopdbms_output.put_line('count='

24、

25、i);i:=i+1;exitwheni>10;endloop;end;Loop数据库业务处理exitwhen[条件表达式];Endloop;【作业:】新建一张表,test表,字段为id,name。要求采用plsql编程,动态添加10000行数据。declareiinteger;begini:

26、=1;while(i<1000000)loopinsertintotestvalues(i,'test');i:=i+1;endloop;commit;end;对于大数据量的处理,需要调整缓冲区大小。²For格式:for变量名称in变量的初始值..结束值loop循环语句Endloop;declare--Localvariableshereiinteger;beginforiin1..10loopdbms_output.put_line(i);endloo

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。