欢迎来到天天文库
浏览记录
ID:39578002
大小:681.50 KB
页数:49页
时间:2019-07-06
《《数据库系统原理与应用——Oracle版》-电子教案-第7章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章Oracle10gPL/SQL程序设计7.1PL/SQL程序设计基础7.2流程控制语句7.3游标7.4异常处理7.5过程与函数7.6触发器7.1PL/SQL程序设计基础7.1.1PL/SQL程序结构,PL/SQL也是一种模块化结构的语言,它的大体结构如下:DECLARE--定义部分:变量、常量、游标、自定义数据类型等说明。BEGIN--执行部分:PL/SQL语句。EXCEPTION--异常处理部分,异常的处理请参考7.4节。END;返回首页7.1.2运算符1.算术运算符算术运算符用于执行数字型表达式的算术运算,PL/SQL支持的算术运算符包括:+:加。
2、-:减。*:乘。/:除。MOD:取模2.比较运算符比较运算符用来比较两个表达式的值是否相同。PL/SQL支持的比较运算符包括:>大于。=等于。<小于。>=大于等于。<=小于等于。!=不等于。like类似于。between在……之间。in在……之中。3.逻辑运算符逻辑运算符用于测试条件是否为真,它与比较运算符一样,根据测试结果返回布尔值TRUE、FALSE。逻辑运算符有以下几种:AND。OR。NOT。4.字符串连接符“
3、
4、”可以实现字符串之间的连接操作。PL/SQL中,字符串之间的其他操作通过字符串函数实现。例7-1下列表达式用字符串连接符实现两字符串间的连接
5、。SELECT'abc'
6、
7、'123'FROMdual其计算结果为abc123。注意:dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录。返回首页5.赋值运算符PL/SQL中的赋值运算符为等号(:=),它将表达式的值赋给一个变量。例如:DECLARExINT;BEGINx:=100+50;dbms_output.put_line(x);END;注意:在SQL*PLUS中使用dbms_output.put_line来输出变量的值,需要执行SETSERVEROUTPUTON命令打开环境变量serveroutput返
8、回本节7.1.3变量与常1.变量声明PL/SQL在DECLARE部分中声明变量,语法格式为:变量名数据类型2.变量赋值变量声明后,可以按下面语法为变量赋值:变量名:=表达式;返回首页7.1.4定义数据类型定义数据类型的语法格式为:TYPE数据类型名IS数据类型Oracle允许用户定义3种数据类型:RECORD(记录)、TABLE(表)、VARRAY(变长数组)定义RECORD的语法为:TYPE数据类型名ISRECORD(成员变量定义);其他类型的定义请参考ORACLE的帮助文档.7.2流程控制语句流程控制语句用于控制PL/SQL语句、语句块、存储过程或函数的
9、执行流程7.2.1条件语句1.IF…ELSE语句语法格式为:IF<条件表达式>THENSQL语句|语句块[ELSESQL语句|语句块]ENDIF;2.IF…ELSIF…ELSE语句语法格式IF<条件表达式>THENSQL语句|语句块ELSIF<条件表达式>THENSQL语句|语句块[ELSESQL语句|语句块]ENDIF;3.CASE语句CASE<条件选择表达式>WHEN<表达式1>THENPL/SQL语句块1WHEN<表达式2>THENPL/SQL语句块2…WHEN<表达式N>THENPL/SQL语句块NELSEPL/SQL语句块N+17.2.2循环语句1
10、.基本循环LOOPPL/SQL语句|语句块EXIT[WHEN<条件表达式>]ENDLOOP;2.WHILE循环WHILE<条件表达式>LOOPPL/SQL语句|语句块ENDLOOP功能:当条件表达式为真时,重复执行其中的PL/SQL语句或语句块。3.FOR循环FOR<循环变量>IN[REVERSE]<初值>..<终值>LOOPPL/SQL语句|语句块–循环体ENDLOOP默认情况下,当使用FOR循环时,每次循环变量会自动加一,如果指定[REVERSE]选项,那么每次循环变量会自动减一。循环变量必须是NUMBER或INTEGER类型。返回本节7.2.3RETU
11、RN语句与NULL语句1.RETURN语句语法格式:RETURN[表达式]功能:终止子程序的执行,返回到调用者。在存储过程和触发器中RETURN不能带“表达式”,在函数中必须用带表达式的RETURN语句以返回函数结果给调用者。2.NULL语句NULL语句即空语句,表示什么都不做,但起到一个占位作用。7.3游标1.显式游标的定义游标定义的语法格式如下:CURSOR<游标名>ISSELECT语句[FORUPDATE[OF列名列表]][NOWAIT]FORUPDATE用于在游标数据集上加共享锁,带FORUPDATE选项的游标可以使用游标更新或删除数据2.打开游标O
12、PEN<游标名>3.从一个打开的游标中提取数据行FE
此文档下载收益归作者所有