- 1、本文档共30页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 PL/SQL语言 教学目标 理解PL/SQL程序块的结构 掌握如何在PL/SQL中声明变量和常量 理解SQL数据类型与PL/SQL数据类型之间的差别 掌握怎样使用游标技术在用户代码中将SQL与PL/SQL集成 掌握在用户代码中如何使用循环结构和条件语句 掌握怎样捕获和控制用户代码中的潜在错误 教学难点和重点 PL/SQL程序块的结构 在PL/SQL中声明变量和常量 SQL数据类型与PL/SQL数据类型之间的差别 使用游标技术在用户代码中将SQL与PL/SQL集成 在用户代码中如何使用循环结构和条件语句 捕获和控制用户代码中的潜在错误 教学过程 7.1 概述 7.2 声明 7.3 PL/SQL数据类型 7.4 PL/SQL集合 7.5 游标 7.6 控制语句 7.7 错误处理 7.1 概述 PL/SQL是基于Ada编程语言的结构化编程语言,是由Oracle公司从版本6开始提供的、专用于Oracle产品的数据库编程语言。 使用PL/SQL语言,用户可以编写过程、函数、程序报、触发器等PL/SQL代码,并且把他们存储起来。这些存储在数据库中的代码,能够由具有适当权限的数据库用户重新使用。 7.2 声明 前面已经讲过,可以声明将要在PL/SQL代码中使用的变量和常量。声明变量时可以选择,是否为变量赋值。但是,常量必须初始化。之后,就可以在指定的PL/SQL代码块中使用这些变量和常量。 变量和常量 用户使用的所有变量和常量都必须在程序块中声明部分定义。对于每一个变量,用户都必须规定名称和数据类型,以便在可执行部分为其指定数值 常量声明与变量声明类似,但是也有一些区别。首先需要明白,常量的值是不能改变的。因此,用户必须在声明常量时为其赋值,而且还必须在数据类型的左边使用constant保留字。 为变量和常量赋值 用户可以使用很多方法为变量(在程序块的声明部分和可执行部分)和常量(在声明部分)赋值。最常用的赋值方法是使用PL/SQL的赋值运算符(:=)。赋值运算符的语法如下所示: variable datatype := expression; -- 在程序块的声明部分 variable := expression; -- 在程序块的可执行部分 可视性和作用域 当声明变量和常量时,有一些控制用户声明的作用域和可视性的规则。作用域是用户能够引用变量名称标识符的程序块。只有用户处于可以使用非限定名称引用标识符的程序域时,标识符才是可视的。也就是说,如果在该所用域中,没有必要使用定义标识符的程序块名称作为标识符的前缀,那么在该作用域中,标识符是可视的。 在单独的程序块中,整个程序块都是在声明部分定义的标识符的作用域,标识符都是可视的。 定义不确定内容 在前面的许多示例中,我们都引用了null关键字。null关键字表示缺少、不可知或不适用等含义。从本质上来讲,null关键字表示没有内容。 在PL/SQL程序块中,如果引用某个已经声明的变量,且没有为改变量赋值,那么该变量的值就是null。也就是说,null通常会赋予在声明时没有赋值的变量。 使用%type和%rowtype 可以使用%type和%rowtype来声明变量,而不必指定特定的数据类型。这两个属性提供了这种方式:在声明变量时,不指定变量的数据类型,而由表/视图列或PL/SQL程序包变量来定义变量的数据类型。 7.3 PL/SQL数据类型 字符数据类型 数值数据类型 逻辑数据类型 字符数据类型 表7-1列出了SQL和PL/SQL字符数据类型之间的比较。需要说明一点的是,虽然varchar2的两种子类型,即varchar和string,能够和varchar2替换使用,但是Oracle还是建议使用varchar2。因为在为未来的某个时候,varchar可能会变成与varchar2不同的数据类型。 数值数据类型 pls_integer和binary_integer是PL/SQL专用的数据类型,这两种数据类型不能在定义表结构时使用。 pls_integer是-2^31和2^31之间有符号的整数,提供了从-2147483648到2147483648的范围。pls_integer具有比number变量更小的范围,因此会占用更少的内存。另外,pls_integer能够利用CPU运算器,因此可以比使用数据库API执行算术运算的number和binary_integer更快。 逻辑数据类型 在PL/SQL程序块中可以使用boolean数据类型,即逻辑数据类型。该数据类型不能用于SQL中的数据库的列。 boolean变量的值可以是true、false和null,它能够作为条件语句的单一参数。 7.4 PL/SQL集合
您可能关注的文档
- Office综合应用教程 教学课件 作者 李永平 涂金德 张浩 电子课件素材任务12我的班级制作 任务12制作“我的班级”演示文稿.ppt
- Office综合应用教程 教学课件 作者 李永平 涂金德 张浩 电子课件素材任务13编排科技书 Delphi程序设计编写(效果).doc
- Office综合应用教程 教学课件 作者 李永平 涂金德 张浩 电子课件素材任务13编排科技书 Delphi程序设计编写(原稿).doc
- Office综合应用教程 教学课件 作者 李永平 涂金德 张浩 电子课件素材任务13编排科技书 任务13编排科技书.ppt
- Office综合应用教程 教学课件 作者 李永平 涂金德 张浩 电子课件素材任务14考务安排 任务14考务安排.ppt
- Office综合应用教程 教学课件 作者 李永平 涂金德 张浩 电子课件素材任务15我的班级制作 任务15制作“我的班级”演示文稿.ppt
- OPNET Modeler网络建模与仿真 教学课件 作者 李馨 第1 5章 第1章.ppt
- OPNET Modeler网络建模与仿真 教学课件 作者 李馨 第1 5章 第2章.ppt
- OPNET Modeler网络建模与仿真 教学课件 作者 李馨 第1 5章 第3章.ppt
- OPNET Modeler网络建模与仿真 教学课件 作者 李馨 第1 5章 第5章.ppt
- 四川省广安市广安区等3地2024-2025学年高一下学期7月期末英语试题含答案.pdf
- 四川省广安市广安区等3地2024-2025学年高一下学期7月期末统测日语试卷含答案.pdf
- 2025高考数学专项三角函数的概念与诱导公式含答案.pdf
- N银行X分行个人经营性贷款业务营销策略优化研究.pdf
- Neumann边界条件作用下的自然对流换热特性离散统一气体动理学研究.pdf
- 绿色金融发展水平对城市碳排放的影响机制--基于289个城市面板数据的实证分析结果.pdf
- 服务对象政府购买建筑工程安全服务满意度影响因素分析--以Q市为例.pdf
- 新时代中国特色新型城镇化道路研究.pdf
- 税务机关防范虚开增值税发票风险管理研究--以S市为例.pdf
- 政府财政补贴对文娱上市公司企业绩效影响的实证分析.pdf
文档评论(0)