ImageVerifierCode 换一换
你正在下载:

Lesson-09.ppt

[预览]
格式:PPT , 页数:33 ,大小:1.13MB ,
资源ID:3312865      下载积分:20 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-3312865.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Lesson-09.ppt)为本站会员(dzzj200808)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Lesson-09.ppt

1、PL/SQL程序设计,成都信息工程学院 软件工程系,PL/SQL概述,PL/SQL程序设计,PL/SQL(procedure language/SQL)语言是Oracle对SQL语言的过程化扩充,是一个完整的编程语言。 PL/SQL实现了过程化语句(如分支、循环等)与SQL语句的无缝连接,将过程化语言的数据处理能力与SQL语言的访问数据库的能力有机地结合在一起。 PL/SQL语言在Oracle系统中是核心的编程语言,它应用于很多方面,如存储过程、触发器、包、函数和Web应用等。 PL/SQL语言编写的不是客户端程序,而是服务器端的程序,PL/SQL体系结构,PL/SQL程序设计,PL/SQL引

2、擎可执行过程性语句,而将SQL语句发送到ORACLE服务器上的SQL语句执行器。,PL/SQL字符集,PL/SQL程序设计,合法字符 算术运算符 关系运算符,PL/SQL字符集,PL/SQL程序设计,合法字符,所有大小写字母 数字09。 符号:( ) +* /=!;:. % “# $ & _ | ? 。 其中一些字符用于编程,另一些用作算术运算操作符(除法、加法、幂等)及关系运算符(等于和不等于)。,PL/SQL字符集,PL/SQL程序设计,算术运算符,下面列出了PL/SQL中常用的算术运算符。 运算符意义 + 加法 减法 * 乘法 / 除法 * 幂 | 连接,PL/SQL字符集,PL/SQL

3、程序设计,关系运算符,下面列出了PL/SQL中常用的关系运算符。 运算符意义不等于 != 不等于 = 不等于大于 = 等于 = 大于等于 = 小于等于,PL/SQL字符集,PL/SQL程序设计,其他符号,PL/SQL为支持编程,还使用其他符号。下面列出了常用的符号。 ( ) 列表分隔(Jones,Roy,Abramson) ; 语句结束Procedure_name(arg1,arg2); . 项分隔(Select * from account.table_name;) 字符串界定符if var1=SANDRA := 赋值Rec_read:=rec_read+1; | 并置Full_name:=

4、Nahtan|Yebba - 注释符This is a comment /*与*/ 注释定界符/*This,too,is a comment*/,PL/SQL块结构,DECLARE Optional(可选) Variables, cursors, user-defined exceptions BEGIN Mandatory (必须) SQL statements PL/SQL statements EXCEPTION Optional (可选) Actions to perform when errors occur END; Mandatory(必须),PL/SQL程序设计,声明部分,执行

5、部分,异常处理部分,PL/SQL块结构,DECLAREv_variable VARCHAR2(5); BEGINSELECT column_nameINTO v_variableFROM table_name; EXCEPTIONWHEN exception_name THEN. END;,PL/SQL程序设计,块种类,匿名块 存储过程 函数,DECLAREBEGIN-statementsEXCEPTIONEND;,PROCEDURE name ISBEGIN-statementsEXCEPTIONEND name;,FUNCTION name RETURN datatype IS BEGIN

6、-statementsRETURN value; EXCEPTIONEND name;,PL/SQL程序设计,“匿名”(anonymous)块通常是动态生成,它只能被执行一次。 “子程序”(subprogram)是存储在数据库内部的过程、包、触发器和函数,通过显示调用可以执行该子程序。 “函数”(function)除了必须返回一个值外,它与存储过程(procedure)相似。 “触发器”(trigger)是存储在数据库内部的带名块。当触发事件出现时,触发器便被显示地执行。,PL/SQL程序结构,Anonymous block,Application trigger,Stored procedu

7、re/ function,Database trigger,Application procedure/ function,Packaged procedure/ function,PL/SQL程序设计,PL/SQL变量,PL/SQL程序设计,变量是PL/SQL中用来处理数据项所用的名字。程序员根据下列规则选择变量名称: 变量必须以字母(AZ)开头。 其后跟可选的一个或多个字母、数字(09)或特殊字符$、#或_。 变量长度不超过30个字符。 变量名中不能有空格。 23_skidoo 不合法 必须以字母起头 Nature_trali 合法 nature-trali 不合法 特殊字符只能是$#_

8、保留字不能用作变量名。,PL/SQL变量,Scalar 标量型 Composite 复合型 Reference 引用型 LOB (large objects) 大对象型,PL/SQL程序设计,PL/SQL变量 变量类型,非PL/SQL变量 链接变量,TRUE,PL/SQL变量,25-OCT-99,Atlanta,256120.08,PL/SQL程序设计,“Oracle Text(在Oracle8i中称为interMedia文本)是Oracle提供的一个服务集,它的功能十分强大,它可以为文档提供索引方法、进行检索,还可以对文档进行格式转换、存储和管理等。它不仅支持TXT、HTML等纯文本格式,还

9、支持很多种二进制格式的文档,如DOC、PPT、PDF,等等。并且Oracle Text还可用来对不同语种的文档进行检索。因为Oracle Text是完全集成在数据库核心内的,所以使用它对数据库中的文档进行检索的效率是很高的。因而Oracle公司将其描述成第四代文本引擎。”,声明PL/SQL变量,语法例子,PL/SQL程序设计,命名规则,在同一PL/SQL块中不能有两个相同的变量名。 在同一PL/SQL块中变量名不能和表的列名相同。,DECLAREempno NUMBER(4); BEGINSELECT empnoINTO empnoFROM empWHERE ename = SMITH; EN

10、D;,PL/SQL程序设计,变量赋值,v_ename := 张三;,v_hiredate := 31-DEC-98;,语法举例 为新职员预先设定一个参加工作时间,设定员工的名字,identifier := expr;,PL/SQL程序设计,变量的初始化和关键字,Using := 赋值操作符 DEFAULT NOT NULL,PL/SQL程序设计,标量数据类型,只有单一值 没有内部组成成分,25-OCT-99,Atlanta,“Oracle Text(在Oracle8i中称为interMedia文本)是Oracle提供的一个服务集,它的功能十分强大,它可以为文档提供索引方法、进行检索,还可以对文

11、档进行格式转换、存储和管理等。它不仅支持TXT、HTML等纯文本格式,还支持很多种二进制格式的文档,如DOC、PPT、PDF,等等。并且Oracle Text还可用来对不同语种的文档进行检索。因为Oracle Text是完全集成在数据库核心内的,所以使用它对数据库中的文档进行检索的效率是很高的。因而Oracle公司将其描述成第四代文本引擎。”,TRUE,256120.08,PL/SQL程序设计,基本标量数据类型,VARCHAR2 (maximum_length) NUMBER (precision, scale) DATE CHAR (maximum_length) LONG LONG RAW

12、 BOOLEAN BINARY_INTEGER,PL/SQL程序设计,基本标量数据类型,VARCHAR2 (maximum_length),PL/SQL程序设计,Varchar2为可变长的字母数字数据类型。在PL/SQL中,varchar2的最大长度为32767字节。 在declare部分声明,其定义以分号(;)结束,所有varchar2变量的定义类似于下面的定义: variable_name varchar2(max_length); 括号中的长度值为本变量的最大长度且必须是正整数,如:vc_field varchar2(10); 在定义变量时,可以同时对其进行初始化,格式为:vc_fiel

13、d varchar2(10):=STARTVALUE;,基本标量数据类型,NUMBER (precision, scale),PL/SQL程序设计,number类型数据可用来表示所有的数值数据,说明格式为:num_field number(precision,scale);其中,precision可以有138个数字位,而scale(-84127)表示在precision位数字中小数点后的数字位数,下面的定义:num_fieldnumber(12,2);表示num_field是一个整数部分最多10位、小数部分最多2位的变量。,基本标量数据类型,DATE,PL/SQL程序设计,此数据类型用于保存固

14、定长度的日期值,date变量的说明为:date_field date; 在缺省时,Oracle以DD-MON-YY格式显示日期。因此,2004年9月9日显示为09-SEP-04。 PL/SQL中编程处理日期必须使用这种格式。是否可以说用户必须用数据库缺省的日期格式,除非用户用TO_CHAR或TO_DATE。 提示:Oracle中还有DD-MON-RR的日期格式,用来表示4位年份以确保Oracle不会省去两位纪元数。,基本标量数据类型,BOOLEAN,PL/SQL程序设计,Boolean变量只有三种值TRUE、FALSE和NULL。 Boolean变量一般和逻辑操作符AND, OR, 和 NOT

15、一起使用。,标量变量声明,v_job VARCHAR2(9); v_count BINARY_INTEGER := 0; v_total_sal NUMBER(9,2) := 0; v_orderdate DATE := SYSDATE + 7; c_tax_rate CONSTANT NUMBER(3,2) := 8.25; v_valid BOOLEAN NOT NULL := TRUE;,Examples,PL/SQL程序设计,%TYPE属性,声明一个变量根据下述条件来声明: 数据库中定义的列 先前已经声明的变量 使用%TYPE属性的前缀: 数据库的表和列名 先前声明的变量名,PL/SQ

16、L程序设计,用%TYPE属性声明变量,Examples,.v_ename emp.ename%TYPE;v_balance NUMBER(7,2);v_min_balance v_balance%TYPE := 10; .,PL/SQL程序设计,这种定义方法有以下好处: 在不清楚EMP表的列定义细节的情况下,也可以保证两者定义一致。 如果改变数据库中EMP表的ename列定义,不需要修改PL/SQL程序中V_ENAME变量定义。,*复合数据类型,Types PL/SQL TABLES语法:TYPE tabletype IS TABLE OF type INDEX BY BINARY_INTEG

17、ER;举例:TYPE t_CharacterTable IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER ; PL/SQL RECORDS语法:TYPE record_type IS RECORD ( field1 type1 NOT NULL :=expr1,field2 type2 NOT NULL :=expr2,fieldn typen NOT NULL :=exprn ); %ROWTYPE属性:声明一个与数据库表的行具有相同类型的记录变量,PL/SQL程序设计,*LOB Datatype Variables,技巧 (CLOB),相片

18、(BLOB),电影 (BFILE),NCLOB,PL/SQL程序设计,链接变量,O/S 链接变量,PL/SQL程序设计,链接变量(bind variable)是在SQL*PLUS中建立的变量,然后可以在PL/SQL中引用。,引用非PL/SQL变量 链接变量,在PL/SQL中引用链接变量,必须在变量名前使用一个冒号(:),:ret_val:= 1;,PL/SQL程序设计,在SQL*PLUS中用VARIABLE命令建立链接变量:,SQL VARIABLE ret_val NUMBER,SQL PRINT ret_val,在SQL*PLUS中显示链接变量的值:,Thank You! to be continued,

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报