oracleSQL语句中匿名块基本讲解_第1页
oracleSQL语句中匿名块基本讲解_第2页
oracleSQL语句中匿名块基本讲解_第3页
oracleSQL语句中匿名块基本讲解_第4页
oracleSQL语句中匿名块基本讲解_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第一节程序块结构语言PL/SQL的组成PL/SQL块的组成PL/SQL 一个基本的PL/SQL块由3部分组成:定义部分(DECLARE),可执行部分(BEGIN),异常处理部分(EXCEPTION)。 1第二节 代码块的基本结构PL/SQL代码块的最小结构是由一个begin和一个end,以及这二者之间的一条可执行的命令组成Declare Begin Null; End;Declare Begin -Null; End;2Declare -定义变量 begin -sql语句 -pl/sql块 exception -异常处理 end; 3DECLARE V_VARIABLE VARCHAR2(10

2、);BEGIN SELECT AAA100 INTO V_VARIABLE FROM AA10 WHERE AAA102 = 02;DBMS_OUTPUT.PUT_LINE(V_VARIABLE的值为: | V_VARIABLE);EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE(查询表AA10 出错,出错原因为: | SQLERRM);END;4在PL/SQL中处理变量在定义部分定义和初始化变量在执行部分给变量赋新值通过参数在PL/SQL块之间传递值通过输出变量查看结果5定义PL/SQL变量语法:identifier CONSTANT datat

3、ype NOT NULL := | DEFAULT expr;例子:Declare v_hiredateDATE; v_deptnoNUMBER(2) NOT NULL := 10; v_locationVARCHAR2(13) := shanghai; c_commCONSTANT NUMBER := 1400;6定义变量指导方针在PL/SQL中使用的变量、常量、游标和异常处理的名字都必须先定义后使用。定义部分是包括在关键字DECLARE和BEGIN之间的部分,每条语句后用;结束。指定NOT NULL强制初始化变量使用:=或DEFAULT可以初始化变量每行只能定义一个变量如果加上关键字CON

4、STANT,则表示所定义的标识符为一个常量,必须为它赋初值。变量的命名规则与SQL的规则基本相同,即每个标识符必须以字母开头,而且不分大小写。如果定义的标识符不能为空,则必须加上关键字NOT NULL,并赋初值。7命名规则不同块的变量可以同名变量名不应该与表列同名8给变量赋值语法:Identifier := expr;例子:V_hiredate := 2007-03-26;V_name := TOM;9常用数据类型:VARCHAR2 (maximum_length)NUMBER (precision, scale)DATECHAR (maximum_length)LONGBOOLEANBINA

5、RY_INTEGERPLS_INTEGER 例子 : v_jobVARCHAR2(9); v_countBINARY_INTEGER := 0; v_total_salNUMBER(9,2) := 0; v_orderdateDATE := SYSDATE + 7; c_tax_rateCONSTANT NUMBER(3,2) := 8.25; v_validBOOLEAN NOT NULL := TRUE;10%TYPE属性按照表列或先前变量定义新变量%TYPE前需要带有前缀:表和列先前定义的变量名11例:DECLAREteacher_name char(5);student_name te

6、acher_name%TYPE;BEGINENDDECLAREno EMP.EMPNO%TYPE;BEGIN End;12声明一个记录型变量,使它的类型与某个基本表的数据结构一致,可以使用%ROWTYPE的形式定义。DECLAREEMP_VALUE EMP%ROWTYPE;BEGIN引用方式: EMP_VALUE .empno EMP_VALUE .ename13定义BOOLEAN变量只能将 TRUE、FALSE和NULL赋给布尔变量布尔变量用逻辑操作符AND、OR和NOT连接算术、字符和日期表达式可用于返回布尔值例子: DECLARE V_BBB BOOLEAN;BEGIN V_BBB :=

7、 TRUE; IF V_BBB = TRUE THEN DBMS_OUTPUT.PUT_LINE(aaaa); END IF;END;14小结PL/SQL 块由以下三部分组成: 定义部分(可选)执行部分(必须)异常处理部分(可选)PL/SQL 块的匿名块的编写: PL/SQL 块中常用变量的定义及附值:15替代变量以&开头,&号后面可以根数字或字符例子: DECLARE V_AVGSAL VARCHAR(20);BEGIN V_AVGSAL := &4566; DBMS_OUTPUT.PUT_LINE(your enter is: | V_AVGSAL);END;16例子2:DECLARE V

8、_AVGSAL varchar(20);BEGIN SELECT AAA100 INTO V_AVGSAL FROM AA10 WHERE AA10.AAA102 = &NO AND ROWNUM = 1; DBMS_OUTPUT.PUT_LINE(value aaa100 is: | V_AVGSAL);END;17练习:1:书写一匿名块,输入两个变量,分别为:2和4,计算两个变量相乘,把相乘后的值附给另一个变量,同时打印出这个变量的值2:建立PL/SQL块使用替代变量输入两个数字值,第一个数除以第二个数,并加上第二个数产生最终结果,然后执行该PL/SQL块,如下所示:Please enter the first number: 2Please enter the second number: 4PL/SQL procedure successfully completed. V_RESULT - 4.518建立PL/SQL块,使用替代变量输入全年工资总额和奖金百分比(10表示10%),输出实际工资总和,如下

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论