资源描述:
《最新PLSQL开发(精)教学讲义PPT.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、PLSQL开发(精)本章要点PL/SQL基本概念PL/SQL的变量PL/SQL的基本语法Oracle各种程序单元使用游标取出多条数据异常处理PL/SQL概述什么是PL/SQLPL/SQL也是一种程序语言,被称作支持SQL的程序语言(ProgramLanguage),是Oracle数据库对SQL语句的扩展,在普通的SQL语言中增加了编程语言的特点数据操作和查询语句被包含在PL/SQL代码的过程性单元中,经过逻辑判断、循环等操作完成复杂的功能或者计算PL/SQL提高了性能DatabaseDatabaseSQLSQLSQLSQLSQLIF...THENSQLE
2、LSESQLENDIF;SQL应用程序应用程序PL/SQL块的基本结构PL/SQL中起作用的部分都是由基本块组成的.基本块有四个组成部分声明部分:DECLARE–可选部分变量、常量、游标、用户定义异常声明执行体开始部分:BEGIN–必要部分SQL语句PL/SQL语句异常处理部分:EXCEPTION–可选部分程序出现异常时,捕捉异常并处理异常执行体结束:END;–必要部分PL/SQL块例子DECLAREv_dept_idemployees.department_id%TYPE;BEGINSELECTdepartment_idINTOv_dept_idFRO
3、MemployeesWHEREemployee_id=100;DELETEdepartmentsWHEREdepartment_id=v_dept_id;COMMIT;EXCEPTIONWHENOTHERSTHENROLLBACK;INSERTINTOexception_table(message)VALUES(‘Someerroroccurredinthedatabase.’);COMMIT;END;PL/SQL环境PL/SQLBlockPL/SQL引擎oracle数据库PL/SQLBlockProceduralStatementExecutornon
4、-SQLSQLSQLStatementExecutorSQL引擎在数据库执行PL/SQL程序的时候,PL/SQL语句和SQL语句被分别解析和执行的。PL/SQL块被数据库内部的PL/SQL引擎提取,将SQL语句取出送给Oralce的SQL引擎。两种语句分别在两种引擎中分析处理,在数据库内部完成数据交互,处理的过程在PL/SQL中处理变量在声明部分声明和初始化变量在执行部分为变量赋新值,或在表达式中使用变量在异常处理部分也可以使用变量通过参数把值传递到PL/SQL块中通过输出变量或者参数将值传出PL/SQL块声明变量和常量:语法定义的标示符名称应遵循命名规
5、则在声明常量和变量的时候可以为其设置初始化值,也可以设置NOTNULL可以使用赋值运算符(:=)或者DEFAULT保留字来初始化标识符在声明时,每行只能声明一个标识符identifier[CONSTANT]datatype[NOTNULL][:=
6、DEFAULTexpr];例如:v_total_salNUMBER(9,2):=0;c_tax_rateCONSTANTNUMBER(3,2):=8.25;v_genderCHAR(1);v_validBOOLEANNOTNULL:=TRUE;PL/Sql中的变量类型简单变量复合(组合)变量外部变量简单变量简单
7、变量不包括任何组件,只能保存一个值基本类型包括三大类:字符,数字,日期BINARY_INTEGER整形数字NUMBER[(precision,scale)]数字类型CHAR[(maximum_length)]定长字符类型VARCHAR2(maximum_length)变长字符类型DATE日期类型LONG长字符类型LONGRAW长二进制类型CLOB/BLOB/BFILE大对象类型(字符大对象,二进制大对象,操作系统文件大对象)BOOLEAN布尔类型,有效值为TRUE,FALSE,NULL简单变量的声明v_genderCHAR(1);v_countBINAR
8、Y_INTEGER:=0;v_total_salNUMBER(9,2):=0;v_order_dateDATE:=SYSDATE+7;c_tax_rateCONSTANTNUMBER(3,2):=8.25;v_validBOOLEANNOTNULL:=TRUE;复合数据类型复合变量也叫做组合变量.在复合变量中包含多个内部的组件,每个组件都可以单独存放值.一个复合变量可以存放多个值与简单变量类型不同,复合变量类型不是数据库中已经存在的数据类型,所以复合变量在声明类型之前,首先要创建使用到的复合类型,然后将变量声明为复合变量复合数据类型:PL/SQLTABL
9、ES表类型PL/SQLRECORDS记录类型复合类型被创建后,可以被使用多次定义