版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LSQL-清华大学计算中心ORACLE培训资料1Procedural LanguageLSQL-清华大学计算中心ORACLE培训资料2 PL/SQL是是Oracle对关系数据库语言对关系数据库语言SQL的过程化扩充的过程化扩充,它将数据库技术和它将数据库技术和过程化程序设计语言联系起来过程化程序设计语言联系起来,是一种应用开发语言是一种应用开发语言,可使用循环可使用循环,分支处理分支处理数据数据,将将SQL的数据操纵功能与过程化语言数据处理功能结合起来的数据操纵功能与过程化语言数据处理功能结合起来. 说明部分说明部分:说明变量及常量说明变量及常量执行部分执行部分:使用使用SQL的的DML语言事
2、务处理语言事务处理例外处理例外处理:处理错误及警告信息处理错误及警告信息LSQL-清华大学计算中心ORACLE培训资料3PL/SQL中可以定义变量中可以定义变量,变量有其作用范围变量有其作用范围PL/SQL是以块的方式设计是以块的方式设计,块中可以嵌套子块块中可以嵌套子块,子块可以位子块可以位于块中任何部分于块中任何部分子块可以是子块可以是PL/SQL中的一条命令中的一条命令PL/SQL中可以使用条件判断中可以使用条件判断,循环循环,游标等高级语言程序设游标等高级语言程序设计方法计方法LSQL-清华大学计算中心ORACLE培训资料4减少对于减少对于Oracle核心的访问核心的访问,降低网络负责
3、降低网络负责数据库数据类型集成数据库数据类型集成PL/SQL支持全部的支持全部的SQL数据类型数据类型,这些共享的数据类型与这些共享的数据类型与SQL所提供的直接存取相结合所提供的直接存取相结合,使使PL/SQL与与Oracle数数据字典结合成一体据字典结合成一体.PL/SQL与与Oracle RDBMS集成在一起集成在一起,可以使用可以使用PL/SQL的集成数据类型的集成数据类型,使变量的数据类型在数据库的操作中实使变量的数据类型在数据库的操作中实时确定时确定.LSQL-清华大学计算中心ORACLE培训资料5PL/SQL语句含有语句含有SQL的的DML语句语句,检索及事务处理检索及事务处理P
4、L/SQL中可以使用的中可以使用的SQL语句如下语句如下: INSERT UPDATE DELETE SELECT INTO COMMIT ROLLBACK SAVEPOINT支持支持 RDBMS 的所有数据类型的所有数据类型 对于对于SQL的数据类型进行了扩充的数据类型进行了扩充,增加了新的数据类型增加了新的数据类型,使使PL/SQL所支持的数据类型更灵活所支持的数据类型更灵活.Oracle RDBMS 对于对于PL/SQL中引用的表名中引用的表名,列名进行语句检列名进行语句检查查对于对于SQL语句的执行结果语句的执行结果,PL/SQL提供返回信息检查提供返回信息检查,通过通过PL/SQL的
5、例外处理的例外处理,记录记录SQL的执行结果的执行结果.LSQL-清华大学计算中心ORACLE培训资料6变量的使用变量的使用 和其他高级语言一样和其他高级语言一样,在在PL/SQL中可以使用变中可以使用变 量量注释注释 单行注释单行注释: - 多行注释多行注释: /* */数据类型数据类型 日期型日期型 Date 字符型字符型 CHAR,VARCHAR2 数字型数字型 NUMBER 布尔型布尔型 BOOLEAN(TRUE,FALSE,NULL)数据类型数据类型FloatIntRealSmallint子类子类LSQL-清华大学计算中心ORACLE培训资料7&数字型数字型lNUMBER 存
6、储整型及实型数据,可以定义精度和取值范围存储整型及实型数据,可以定义精度和取值范围BINARY_INTEGER 可存储带符号整数,为整数计算优化性能可存储带符号整数,为整数计算优化性能 DEC NUMBER的子类型,的子类型,存储存储实型数据实型数据 DOUBLE PRECISION NUMBER的子类型,高精度实数的子类型,高精度实数 INTEGER NUMBER的子类型,整数的子类型,整数 INT NUMBER的子类型,整数的子类型,整数LSQL-清华大学计算中心ORACLE培训资料8&数字型数字型SMALLINT NUMBER的子类型,取值范围比的子类型,取值范围比INTEGER
7、小小NUMERIC NUMBER的子类型,与的子类型,与NUMBER等价等价REAL NUMBER的子类型,存储实型数据的子类型,存储实型数据LSQL-清华大学计算中心ORACLE培训资料9&字符型字符型VARCHAR2 存放可变长字符串,有最大长度限制存放可变长字符串,有最大长度限制 CHAR 字符型,固定长度字符型,固定长度 LONG 长字符型长字符型 CLOB 大对象字符大对象字符(Oracle8、Oracle8i)& 日期型日期型 Date 存储日期数据存储日期数据LSQL-清华大学计算中心ORACLE培训资料10& 布尔型布尔型 BOOLEAN 结果是结果是T
8、RUE或或FALSE& 二进制数据二进制数据 RAW 存储多媒体数据,如图象、声音、视频等存储多媒体数据,如图象、声音、视频等 BLOB 大对象大对象如图象、声音、视频等(如图象、声音、视频等(Oracle8、Oracle8i)LSQL-清华大学计算中心ORACLE培训资料11数据定义数据定义 标示符标示符 数据类型数据类型 ; 标示符标示符 数据类型数据类型 := PL/SQL表达式表达式;例如例如, v_salary number(7,2); v_ename varchar2(20) :=SMITH; LSQL-清华大学计算中心ORACLE培训资料12变量赋值变量赋值 变量名变量名
9、 := 值值; v_salary := 890.76; v_date :=25-MAR-99; Available_now :=FALSE;%TYPE类型类型Credit Real(7,2);Debit Credit%TYPE; My_name Employee.ename%TYPE;& %TYPE 属性属性 %ROWTYPE:行类型行类型LSQL-清华大学计算中心ORACLE培训资料13PL/SQL 的记录类型的记录类型把逻辑相关的数据作为一个单元存储起来把逻辑相关的数据作为一个单元存储起来,在在 Declare 段中定义段中定义record类型数据,使某一类型数据,使某一 变量使用
10、该变量使用该record型数据型数据定义方法:定义方法:TYPE r_record is RECORD ( v_name emp.ename%TYPE, v_job emp.job%TYPE, v_sal emp.sal%TYPE); 变量定义变量定义 r_emp r_record; 变量使用变量使用SELECT ename,job,sal INTO r_emp FROM emp WHERE empno=7934; 则,则,r_emp.v_ename,r_emp.v_job,r_emp.v_sal 已有已有 值;值; 给变量赋值:给变量赋值:r_employee r_record; r_emp
11、loyee.v_ename :=JACK; r_employee.v_job :=CLERK; r_employee.v_sal := 890.98;LSQL-清华大学计算中心ORACLE培训资料14 TABLE类型数据类型数据PL/SQL中的表中的表(table)类型类似于语言中的类型类似于语言中的结构类型数组结构类型数组定义方法:定义方法:TYPE table_emp IS TABLE OF emp.ename %TYPE INDEX BY BINARY_INTEGER; 一个一个PL/SQL表有两个列,表有两个列,(key,value),key列类型即是列类型即是 BINARY_INTE
12、GER,而而value类型则是所定义的数据类型类型则是所定义的数据类型Table类型使用:定义变量类型使用:定义变量 my_name为为 table_emp 类型类型,则可以使则可以使用变量用变量 my_name ,也可以在也可以在SQL语句中使用语句中使用 table类型变量类型变量my_name table_emp; my_name(0) :=SCOTT; my_name(1) :=SMITH; my_name(2) :=SUSAN;SELECT ename INTO my_name(10) FROM emp WHERE empno = 7934;LSQL-清华大学计算中心ORACLE培训
13、资料15LSQL-清华大学计算中心ORACLE培训资料16LSQL-清华大学计算中心ORACLE培训资料17IF-THEN语句语句 IF 条件成立条件成立 THEN 可执行语句可执行语句; END IF;LSQL-清华大学计算中心ORACLE培训资料18IF-THEN-ELSE语句语句 IF 条件成立条件成立 THEN 执行语句执行语句1; ELSE 执行语句执行语句2; END IF;LSQL-清华大学计算中心ORACLE培训资料19IF-THEN-ELSIF语句语句 IF 条件条件1成立成立 THEN 执行语句执行语句1; ELSIF 条件条件2成立成立 THEN 执行语句执行语句2; E
14、LSIF 条件条件3成立成立 THEN 执行语句执行语句3; . END IF;LSQL-清华大学计算中心ORACLE培训资料20基本循环基本循环 LOOP 执行语句;执行语句; EXIT WHEN 条件成立;条件成立; END LOOP;LSQL-清华大学计算中心ORACLE培训资料21WHILE循环循环 WHILE 条件成立条件成立 LOOP 执行语句;执行语句; END LOOP;LSQL-清华大学计算中心ORACLE培训资料22FOR循环循环 FOR 计数器计数器 IN 低界低界.高界高界 LOOP 执行语句;执行语句; END LOOP;LSQL-清华大学计算中心ORACLE培训资料
15、23什么是光标什么是光标光标使用光标使用光标说明光标说明 :在:在Declare 段中命名光标,将光标与一查询语句联系起来段中命名光标,将光标与一查询语句联系起来. 语法:语法: CURSOR 光标名光标名(参数参数) IS SELECT 字句字句; 打开光标打开光标 获取活动集中的行获取活动集中的行 FETCH语句检索活动集中的行,每次一行,每执行一次语句检索活动集中的行,每次一行,每执行一次FECTCH,光,光标前进到活动集中的下一行标前进到活动集中的下一行。光标下移光标下移关闭光标关闭光标LSQL-清华大学计算中心ORACLE培训资料24光标属性光标属性 每一个光标有四种属性每一个光标有
16、四种属性 %FOUND 查询语句查询语句(FETCH语句语句)返回记录返回记录%NOTFOUND 查询语句查询语句(FETCH语句语句)无返回记录,用于循环退出条件无返回记录,用于循环退出条件%ROWCOUNT FETCH已获取的记录数已获取的记录数%ISOPEN 光标已打开标记光标已打开标记 if not C%ISOPEN then open C; end if;Loop FETCH C INTO v_ename,v_sal;EXIT WHEN C%NOTFOUND;END LOOP;属性使用属性使用LSQL-清华大学计算中心ORACLE培训资料25隐式光标处理隐式光标处理 隐式光标是指在隐
17、式光标是指在处理处理SQL时时,不需定义光标,所使用的不需定义光标,所使用的SQL语句语句包括:包括:INSERT ,UPDATE,DELETE子句。子句。隐式光标属性隐式光标属性 SQL%FOUND SQL%NOTFOUND 由执行上述语句结果引起由执行上述语句结果引起 SQL%ROWCOUNT隐式光标的使用隐式光标的使用Begin update emp set sal=1200 where empno=1234; if SQL%NOTFOUND then insert into Errors(empno,sal) values(1234,1200); end if;End;LSQL-清华大
18、学计算中心ORACLE培训资料26 Oracle预定义的例外预定义的例外: 是由是由PL/SQL运行过程中,系统自动产生的信息运行过程中,系统自动产生的信息。 用户定义例外用户定义例外: 是用户根据需要,自己定义使用的例外,执行时是用户根据需要,自己定义使用的例外,执行时 由用户自己引起。由用户自己引起。预定义的例外预定义的例外用户自定义例外用户自定义例外 用户定义的例外必须在用户定义的例外必须在DECLARE段中说明,在段中说明,在Begin段中用段中用RAISE引起,在引起,在EXCEPTION段中使用。段中使用。LSQL-清华大学计算中心ORACLE培训资料27 用户定义例外的说明:定义名为用户定义例外的说明:定义名为 out_of_range 的例外的例外 Declare
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 单元8 计算机信息系统安全基础
- 单元1 计算机基础知识
- 《4解决问题》教案1
- 职场面试技巧
- “用心”工作的护士具备的特征
- 人教版英语小学四年级上学期期中试题及答案指导(2024年)
- 《庖丁解牛》课件2
- 建筑业营改增政策培训课件
- 《C语言(第三版)》 课件 项目3、4 掌握 C 语言、应用 C 语言
- 《医学院大学--缺氧》课件
- 中国融通集团2024社招笔试题库
- 失效模式与影响分析FMEA讲义
- 2024年度商场服装店消防设施改造合同2篇
- 气管插管完整版本
- 2024年食品安全法培训
- 公司检修队年终工作总结
- 《阻燃材料与技术》课件 颜龙 第3、4讲 阻燃基本理论、阻燃剂性能与应用
- 浙江省杭州市2023-2024学年高二上学期期末学业水平测试政治试题 含解析
- 25道中国银行高级管理人员岗位常见面试问题含HR常问问题考察点及参考回答
- 哈利·波特全集英文版收藏(全7册)
- 2023吉林省高中会考物理试卷
评论
0/150
提交评论