第6章 PL SQL语言介绍.ppt

上传人:暗伤 文档编号:83041516 上传时间:2023-03-27 格式:PPT 页数:65 大小:2.37MB
返回 下载 相关 举报
第6章 PL SQL语言介绍.ppt_第1页
第1页 / 共65页
第6章 PL SQL语言介绍.ppt_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《第6章 PL SQL语言介绍.ppt》由会员分享,可在线阅读,更多相关《第6章 PL SQL语言介绍.ppt(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第6章章 PL/SQL语言介绍语言介绍01 PL/SQL概述概述02 PL/SQL字符集字符集03 PL/SQL变量、常量和数据类型变量、常量和数据类型04 PL/SQL基本程序结构和语句基本程序结构和语句05 系统内置函数系统内置函数06 函数函数07 游标游标08 程序包的使用程序包的使用1 PL/SQL概述概述PL/SQL与SQL的不同Oracle数据库客户应用SQLSQLSQLOracle数据库客户应用SQLSQLSQLSQL执行PL/SQL执行2 PL/SQL字符集字符集主要内容 合法字符合法字符01 运算符运算符02 其他符号其他符号03PL/SQL字符集合法字符合法字符在使用P

2、L/SQL进行程序设计时,可以使用的有效字符包括以下3类。(1)所有的大写和小写英文字母。(2)数字09。(3)符号()、+、-、*、/、=、!、;、:、.、%、,、”、#、&、_、?、。PL/SQL字符集1 1算术运算符算术运算符 +(加)、(加)、-(减)、(减)、*(乘)、(乘)、/(除)、(除)、*(指数)和(指数)和|(连接字符)(连接字符)运算符运算符PL/SQL字符集2 2关系运算符关系运算符 (1 1)=(等于)、(等于)、或或!=!=(不等于)、(不等于)、(大于)、(大于)、=(大于等于)、(大于等于)、=(小于等于);(小于等于);(2 2)BETWEEN BETWEEN

3、 最小值最小值 AND AND 最大值最大值(检索两值之间的内容);(检索两值之间的内容);(3 3)ININ(检索匹配列表中的值);(检索匹配列表中的值);(4 4)LIKELIKE(检索匹配字符样式的数据);(检索匹配字符样式的数据);(5 5)IS NULL/IS NOT NULLIS NULL/IS NOT NULL(判断是否为(判断是否为nullnull)。)。PL/SQL字符集3 3逻辑运算符逻辑运算符 逻辑运算符用于对某个条件进行测试,运算结果为逻辑运算符用于对某个条件进行测试,运算结果为TRUETRUE或或FALSEFALSE。OracleOracle提供的逻辑运算提供的逻辑运

4、算符有:符有:(1 1)ANDAND(两个表达式同时为真则结果为真);(两个表达式同时为真则结果为真);(2 2)OROR(只要有一个为真则结果为真);(只要有一个为真则结果为真);(3 3)NOTNOT(取相反的逻辑值)。(取相反的逻辑值)。PL/SQL字符集其他符号其他符号符号符号意义意义样例样例()列表分隔(Json,king);语句结束select*from emp;.项分离(在例子中分离account)select*from account.table_name字符串界定符king:=赋值a:=a+1|并置Full_name:=Narth|Yebba-注释符-this is a co

5、mment/*注释界定符/*this is a comment too*/3 PL/SQL变量、常量和数据类型变量、常量和数据类型主要内容 定义变量和常量定义变量和常量 基本数据类型基本数据类型 特殊数据类型特殊数据类型010203PL/SQL程序块DECLARE-声明部分,可选BEGIN-执行部分,必须EXCEPTION-异常处理部分,可选END标准PL/SQL块的语法格式如下:定义变量和常量1 1定定义变量量变量是指其值在程序运行过程中变量是指其值在程序运行过程中可以改变可以改变的数据存储结构,定义变量必须的元素就是的数据存储结构,定义变量必须的元素就是变量变量名名和和数据类型数据类型,另

6、外还有可选择的,另外还有可选择的初始值初始值,其标准语法格式如下:,其标准语法格式如下:(长度长度):=):=;定义变量和常量2 2定定义常量常量常量是指其值在程序运行过程中常量是指其值在程序运行过程中不可改变不可改变的数据存储结构,定义常量必须的元素包括的数据存储结构,定义常量必须的元素包括常量常量名名、数据类型数据类型、常量值常量值和和constantconstant关键字关键字,其标准语法格式如下:,其标准语法格式如下:constant constant:=:=;定义变量和常量3 3变量初始化量初始化 许多语言没有规定未经过初始化的变量中应该存放什么内容。因此在运行时,未初始许多语言没有

7、规定未经过初始化的变量中应该存放什么内容。因此在运行时,未初始化的变量就可能包含随机的或者未知的取值。在一种语言中,运行使用未初始化变量并不化的变量就可能包含随机的或者未知的取值。在一种语言中,运行使用未初始化变量并不是一种很好的编程风格。一般而言,如果变量的取值可以被确定,那么最好为其初始化一是一种很好的编程风格。一般而言,如果变量的取值可以被确定,那么最好为其初始化一个数值。个数值。但是,但是,PL/SQLPL/SQL定义了一个定义了一个未初始化变量未初始化变量应该存放的内容,被赋值为应该存放的内容,被赋值为NULLNULL。NULLNULL意味着意味着“未定义或未知的取值未定义或未知的取

8、值”。换句话讲,。换句话讲,NULLNULL可以被默认地赋值给任何未经过初始化的变量。可以被默认地赋值给任何未经过初始化的变量。这是这是PL/SQLPL/SQL的一个独到之处。许多其他程序设计语言没有定义未初始化变量的取值。的一个独到之处。许多其他程序设计语言没有定义未初始化变量的取值。基本数据类型数值类型主要包括数值类型主要包括NUMBERNUMBER、PLS_INTEGERPLS_INTEGER和和BINARY_INTEGERBINARY_INTEGER三种基本类型。其中,三种基本类型。其中,NUMBERNUMBER类型的变量可以存储整数或浮点数;而类型的变量可以存储整数或浮点数;而BIN

9、ARY_INTEGERBINARY_INTEGER或或PLS_INTEGERPLS_INTEGER类型的变量只类型的变量只存储整数。存储整数。1 1数值类型数值类型NUMBER(m,n)小数位数总的位数NUMBER(m)总的位数number(6,2)基本数据类型字符类型主要包括VARCHAR2VARCHAR2、CHARCHAR、LONGLONG、NCHARNCHAR和和NVARCHAR2NVARCHAR2等。这些类型的变量用来存储字符串或字符数据。2字符类型VARCHAR2(m)m32767CHAR(m)m32767 有默认值1基本数据类型日期类型只有一个种即DATEDATE类型类型,用来存储

10、日期和时间信息,DATE类型的存储空间是7个字节,分别使用一个字节存储世纪、年、月、天、小时、分钟和秒。3日期类型布尔类型也只有一种即BOOLEANBOOLEAN,主要用于程序的流程控制和业务逻辑判断,其变量值可以是TRUE、FALSE或NULL中的一种。4布尔类型特殊数据类型 使用%TYPE关键字可以声明一个与指定列名称相同的数据类型,它通常紧跟在指定列名的后面。1 1%TYPE%TYPE类型类型特殊数据类型 单词RECORD有“记录”之意,因此RECORD类型也称作“记录类型”,使用该类型的变量可以存储由多个列值组成的一行数据。在声明记录类型变量之前,首先需要定义记录类型,然后才可以声明记

11、录类型的变量。记录类型是一种结构化的数据类型,它使用type语句进行定义,在记录类型的定义结构中包含成员变量及其数据类型,其语法格式如下:type record_type is record(var_member1 data_type not null:=default_value,var_membern data_type not null:=default_value)2RECORD类型type emp_type is record(var_ename varchar2(20),var_job varchar2(20),var_sal number);特殊数据类型%ROWTYPE类型的变量

12、结合了“%TYPE类型”和“记录类型”变量的优点,它可以根据数据表中行的结构定义一种特殊的数据类型,用来存储从数据表中检索到的一行数据。它的语法形式很简单,如下所示。rowVar_name table_name%rowtype;3 3%ROWTYPE%ROWTYPE类型类型rowVar_emp emp%rowtype4 PL/SQL基本程序结构和语句基本程序结构和语句主要内容 PL/SQLPL/SQL程序块程序块 选择语句选择语句 循环结构循环结构010203 选择和跳转语句选择和跳转语句 异常异常 空操作和空值空操作和空值040506PL/SQL程序块DECLARE-声明部分,可选BEGIN

13、-执行部分,必须EXCEPTION-异常处理部分,可选END标准PL/SQL块的语法格式如下:选择语句 ifthen语句是选择语句中最简单的一种形式,它只做一种情况或条件判断,其语法格式如下:if then plsql_sentenceend if;1 1If.thenIf.then语句句判断条件判断条件语句语句1true语句语句2false选择语句 ifthenelsif语句实现了多分支判断选择,它使程序的判断选择条件更加丰富,更加多样化,该语句中的哪个判断分支的表达式为true,那么程序就会执行其下面对应的PL/SQL语句,其语法格式如下:if thenplsql_sentence_1;e

14、lsif thenplsql_sentence_2;elseplsql_sentence_n;end if;2 2If.then.elsifIf.then.elsif语句句判断条件判断条件1语句语句1true语句语句3false判断条件判断条件2false语句语句2true语句语句4选择语句 在编写程序的过程中,ifthenelse语句是最常用到的一种选择语句,它可以实现判断两种情况,只要if后面的条件表达式为false,程序就会执行else语句下面的PL/SQL语句。其语法格式如下:if thenplsql_sentence1;elseplsql_sentence2;end if;3 3If

15、.then.elseIf.then.else语句句判断条件判断条件语句语句1true语句语句2false语句语句2循环结构loop 循环执行的语句块;exit when 循环结束条件;循环结束条件修改;end loop;1 1looploop语句句while(循环结束条件)loop 循环执行的语句块;循环结束条件修改;end loop;2 2while.loopwhile.loop语句句循环结束?循环结束?false其它语句其它语句true设置循环初始化条件设置循环初始化条件循环体代码循环体代码修改循环结束条件修改循环结束条件循环结束?循环结束?false其它语句其它语句true设置循环初始化

16、条件设置循环初始化条件循环体代码循环体代码修改循环结束条件修改循环结束条件循环结构 for语句是一个可预置循环次数的循环控制语句,它有一个循环计数器,通常是一个整型变量,通过这个循环计数器来控制循环执行的次数。该计数器可以从小到大进行记录,也可以相反,从大到小进行记录。另外,该计数器值的合法性由上限值和下限值控制,若计数器值在上限值和下限值的范围内,则程序执行循环;否则,终止循环,其语法格式如下。for variable_ counter_name in reverse lower_limit.upper_limit loopplsql_sentence;end loop;3 3forfor语

17、句句选择和跳转语句 在case关键字的后面有一个选择器,它通常是一个变量,程序就从这个选择器开始执行,接下来是when子句,并且在when关键字的后面是一个表达式,程序将根据选择器的值去匹配每个when子句中的表达式的值,从而实现执行不同的PL/SQL语句,其语法格式如下:case when then plsql_sentence_1;when then plsql_sentence_2;when then plsql_sentence_n;else plsql_sentence;end case;1 1casecase语句句选择和跳转语句GOTO语句的语法是:GOTO label;这是个无条

18、件转向语句。当执行GOTO语句时,控制程序会立即转到由标签标识的语句。2 2gotogoto语句句异常异常处理语法:WHEN 异常类型|用户定义异常|异常代码|OTHERS THEN异常处理异常预定义异常用户自定义异常空操作和空值 有时,特别是使用IF逻辑时,用户需要结束测试一个条件。当测试条件为TRUE时,什么工作都不做;而当测试值为FALSE时,则执行某些操作。在PL/SQL中以下述方法处理:IF n DECLAREv_empSalemp.sal%TYPE;-定义变量与emp.sal字段类型相同v_empNameemp.ename%TYPE;-定义变量与emp.ename字段类型相同v_e

19、noemp.empno%TYPE;-定义变量与emp.empno字段类型相同BEGINv_eno:=&inputEmpno;-用户输入要查找的雇员编号-根据输入的雇员编号查找雇员姓名及工资SELECT ename,sal INTO v_empName,v_empSal FROM emp WHERE empno=v_eno;IF v_empSal 3000 THEN-判断DBMS_OUTPUT.put_line(v_empName|的工资属于高工资!);ELSIF v_empSal 2000 THEN-判断DBMS_OUTPUT.put_line(v_empName|的工资属于中等工资!);ELSEDBMS_OUTPUT.put_line(v_empName|的工资属于低工资!);END IF;END;/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 技术方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁