- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03 PLSQL基础
PL/SQL基础 目标 完成本课后,应该可以做下列事情: 了解PL/SQL块的基本结构以及PL/SQL块的分类; 学会在PL/SQL块中定义和使用变量; 学会在PL/SQL块中编写可执行语句: 了解编写PL/SQL代码的指导方针; 了解Oracle 10g的新特征——新数据类型BINARY FLOAT和BINARY DOUBLE, PL/SQL块简介 块(Block)是PL/SQL的基本程序单元 编写PL/SQL程序实际就是编写PL/SQL块 如果要实现复杂的应用功能,那么可能需要在一个PL/SQL块中嵌套其他PL/SQL块 块的嵌套层次没有限制。 PL/SQL块结构 PL/SQL块由三个部分组成: 示例一:只包含执行部分的PL/SQL块 示例二:包含定义部分和执行部分的PL/SQL块 示例三:包含定义部分、执行部分和例外处理部分的PL/SQL块 PL/SQL块分类--匿名块 匿名块是指没有名称的PL/SQL块 匿名块既可以内嵌到应用程序(例如Pro*C/C++)中,也可以在交互式环境(例如SQL*Plus中直接使用 PL/SQL块分类--命名块 在PL/SQL 块前使用加以标记。 当使用嵌套块时,为了区分多级嵌套层次关系,可以使用命名块加以区分。 PL/SQL块分类--子程序—过程 PL/SQL块分类--子程序—函数 PL/SQL块分类--子程序—包 包用于逻辑组合相关的过程和函数 由包规范和包体两部分组成 包规范只包含了过程和函数的说明,而没有过程和函数的实现代码 包体用于实现包规范中的过程和函数 PL/SQL块分类--子程序—触发器 触发器是指隐含执行的存储过程 当定义触发器时,必须要指定触发事件以及触发操作 常用的触发事件包括INSERT,UPDATE和DELETE语句,而触发操作实际是一个PL/SQL块 定义并使用变量 编写PL/SQL程序时,若临时存储数值,必须要定义变量和常量 若在应用环境和子程序之间传递数据,必须要为子程序指定参数 有四种类型 标量(Scalar)类型 复合(Composite)类型 参照(Reference)类型 LOB(Large Object)类型 标量变量 标量变量是指只能存放单个数值的变量。 当编写PL/SQL程序时,最常用的变量就是标量变量当定义标量变量时,必须要指定标量数据类型。 标量数据类型包括 数字类型、 字符类型、 日期类型 布尔类型 每种类型又包含有相应的子类型,例如NUMBER类型包含有INTEGER,POSITIVE等予类型 常用标量类型 VARCHAR2(n) CHAR(n) NUMBER(p,s) DATE TIMESTAMP LONG和LONGRAW BOOLEAN BINARY INTEGER BINARY_FLOAT和BINARY_DOUBLE 定义标量变量 “先定义,后使用” 语法如下: identifier:用于指定变量或常量的名称 CONSTANT:用于指定常量。当定义常量时,必须指定它的初始值,并且其数值不能改变 datatype:用于指定变量或常量的数据类型 NOTNULL:用于强制初始化变量(不能为NULL)。当指定NOTNULL选项时,必须要为变量提供数值 =:用于为变量和常量指定初始值 DEFAULT:用于为变量和常量指定初始值 expr:用于指定初始值的PL/SQL表达式,可以是文本值、其他变量、函数等 使用标量变量 在PL/SQL块中为变量赋值,必须要在等号前加冒号 使用%TYPE属性 当使用%TYPE属性定义变量时,它会按照数据库列或其他变量来确定新变量的类型和长度。 提高程序的可用性,降低PL/SQL程序的维护工作量 复合(Composite)变量 复台变量是指用于存放多个值的变量。 当定义复台变量时,必须要使用PL/SQL的复合数据类型。 包括四种复合数据类型: PL/SQL记录 PL/SQL表 嵌套表 VARRAY 复合变量—PL/SQL记录 类似于高级语言中的结构 每个PL/SQL记录一般都包含多个成员。 当使用PL/SQL记录时,首先需要在定义部分定义汜录类型和记录变量,然后在执行部分引用该记录变量。 当引用记录成员时,必须要加记录变量作为前缀(记录变量记录成员) 示例见备注 复合变量—PL/SQL表 类似于高级语言中的数组,但也有区别: 高级语言数组的下标不能为负,但PL/SQL表的下标可以为负值 高级语言数组的元素个数有限制,而PL/SQL表的元素个数没有限制,并且其下标没有上下限 当使用PL/SQL表时,必须首先在定义部分定义PL/SQL表类型和PL/SQL表变量,然后在执行部分中引用该PL/SQL表变量 示例见备注 复合变量—嵌套表(Nested Table) 类似于高级语言中的数组,但有区别: 高级语言数
文档评论(0)