- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章 PL/SQL程序设计 4.1 PL/SQL概述 4.2 PL/SQL语法基础 4.3 游标 4.4 过程与函数 4.5 触发器 教学目的、要求 了解PL/SQL程序的基本结构。 掌握常量、变量、数据类型的定义。 掌握条件语句、循环语句及例外的编程。 理解游标的概念及游标的属性,掌握显式游标的定义及操作步骤。 理解存储过程、存储函数、触发器的概念。 掌握存储过程、存储函数及语句级触发器和行触发器的编程。 4.1 PL/SQL概述 PL/SQL(Procedure Language/SQL)语言是对SQL语言的过程化扩充,是用于从各种环境中访问Oracle数据库的一种比较复杂的编程语言。它提高了SQL语言的数据处理的效率,并支持复杂问题的处理。 例: 假设我们想修改一个学生选课记录的课程代号(更改课程),如果这个学生不存在,我们就想创建一个新记录。 DECLARE V_NewCno CHAR(8) : V_Sno CHAR(6) :=200401; BEGIN UPDATE sc SET cno=V_NewCno WHERE sno=V_Sno; IF SQL%NOTFOUND THEN INSERT INTO sc(sno,cno) VALUES(V_Sno,V_NewCno); END IF; END; 4.2 PL/SQL程序语法基础4.2.1 PL/SQL语句块 PL/SQL程序的基本单元是语句块,所有PL/SQL程序都是由语句块组成。这些语句块可以是顺序出现的,也可以是相互嵌套的(一个在另一个的内部)。 一个PL/SQL块由三部分组成。 DECLARE(可选) 说明部分(变量、光标、例外等说明,被说明项的作用域仅限于本逻辑块中) BEGIN(必须有) 执行部分(程序主体) EXCEPTION(可选) 例外处理部分 END; PL/SQL块的执行顺序是从执行部分的第一个语句开始,依程序流程执行。如果一切正常,块结束于执行部分;如果执行中出现例外,程序控制将转移到例外处理部分。例外处理完成后,块的执行也就结束。 4.2.2 标识符 标识符用来命名PL/SQL对象,例如变量、光标、类型和子程序等。 标识符由字母开头,后面可选地跟随任何字符序列,包括字母、数字、货币符号、下划线和#字符,其它字符都是非法的。 标识符的最大长度是30个字符,不区分大小写。 标识符不能使用保留字。 4.2.3 操作符 % 属性指示符 : 绑定变量操作符 := 赋值操作符 .. 范围操作符 ** 指数操作符 4.2.4 变量和常量说明 ⑴ 变量说明 v_ename CHAR(10); married BOOLEAN :=TRUE; 可用下划线将一个单字母和其它部分隔开来说明变量的用途。 v--程序变量 t--用户定义的类型 e--用户定义的例外 p--函数参数 数据类型可以是SQL语言中的数据类型,也可以是PL/SQL中的数据类型,如BOOLEAN。 ⑵ 常量定义 credit_limit CONSTRAINT REAL :=5000.00; 常量定义后,在程序中只能引用而不能改变其值。 ⑶ %TYPE 在定义一个变量时可以引用表中列的类型与结构。 v_ename emp.ename%TYPe; 好处: ①即使不清楚emp表的列定义细节,也可以保证两者定义一致。 ②emp表中的列定义变了,也不需改变PL/SQL程序。 ⑷ 定义记录类型 TYPE record_type IS RECORD ( field1 type1 [NOT NULL] [:=exprt1], field2 type2 [NOT NULL] [:=exprt2]); record_type是新类型的名字,field1是该记录中字段的名字,type1是相关字段的类型。 例: DECLARE TYPE t_sample IS RECORD ( sno CHAR(6), sname VARCHAR2(10), sex CHAR(2) :=男); v_sample1 t_sample; v_sample2 t_sample; 记录赋值: v_sample.sno:=200408; v-sample2:=v_sample1; ⑸ %ROWTYPE emp_rec emp%ROWTYPE; 该语句定义了一个记录型变量,对应emp表的一个记录结构。记录的各分量的名字采用emp表的列名。 emp_rec.ename:=张三; ⑹ 变量初始化 一般而言,如果变量的取值可以被确定,那么最好为其初始化一个数值。如果变量末被初始化,其值为NULL。 4.2.
您可能关注的文档
- 虚拟呼叫器使用说明教案.doc
- 第八章 电脑在家里没有装网线也可以上网.doc
- 必修3第一篇(算法).doc
- 阴阳五行学说和园林植物种植初步研究.pdf
- 微型计算机原理答案 第五篇.doc
- 水及甲醇在硅基微通道中换热特性的实验研究.pdf.pdf
- RS_6000小型机系统的故障处理与维护.pdf
- 线段树专题new详解.pdf
- 10、异形旋盖装配件的三维建模与基座零件的数控加工.doc
- 圆柱度误差最小区域评定方法述评课件.pdf
- DB44T 2040-2017 纸和纸板 乙二醛含量的测定 高效液相色谱法.pdf
- DB44T 1895-2016 半导体照明器件色差一致性在线快速评估方法.pdf
- DB44T 1863-2016 甘蔗条螟性诱测报技术规范.pdf
- DB44T 1911-2016 畜禽产品RFID 溯源安全预警体系建设规范.pdf
- DB44T 1954-2016 广东省名牌产品评价指南.pdf
- DB44T 1865-2016 露地番茄根结线虫病防控技术规程.pdf
- DB44T 2039-2017 皮革及皮革制品中汞含量的测定原子荧光光谱法.pdf
- DB44T 2041-2017 渡槽安全鉴定规程.pdf
- DB44T 1879-2016 医疗配药柜通用技术条件.pdf
- DB44T 1904-2016 数字家庭终端设备遥控器技术要求.pdf
最近下载
- 医院内部控制管理手册.pdf VIP
- 2025江苏徐州云龙区翠屏山街道残疾人之家管理服务人员岗位招聘1人备考试题及答案解析.docx VIP
- 协会标准-TCECS 1113-2022给水排水工程微型顶管技术规程.pdf VIP
- 2025江苏徐州云龙区翠屏山街道残疾人之家管理服务人员岗位招聘1人笔试模拟试题及答案解析.docx VIP
- 施工HSE作业指导书.doc VIP
- 嘉兴市英语六年级小升初期末复习试卷.doc VIP
- 标准图集-08D800-7-民用电气设计与施工-室外布线.pdf VIP
- 中等职业学校三年发展规划2024-2026学年.docx VIP
- 场地租赁协议场地租赁合同.doc VIP
- 2025江苏徐州云龙区翠屏山街道残疾人之家管理服务人员岗位招聘1人笔试备考试题及答案解析.docx VIP
文档评论(0)