知识大全 PL/SQL基本语法要素(组图)
Posted 变量
篇首语:落花踏尽游何处,笑入胡姬酒肆中。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 PL/SQL基本语法要素(组图)相关的知识,希望对你有一定的参考价值。
PL/SQL基本语法要素(组图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
常量 定义常量的语法格式 常量名 constant 类型标识符 [not null]:=值; 常量 包括后面的变量名都必须以字母开头 不能有空格 不能超过 个字符长度 同时不能和保留字同名 常(变)量名称不区分大小写 在字母后面可以带数字或特殊字符 括号内的not null为可选参数 若选用 表明该常(变)量不能为空值 实例 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为pi的数字型常量 长度为 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― declare pi constant number( ):= ; begin mit; end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\constantdefine sql > 基本数据类型变量 基本数据类型 PL/SQL中常用的基本数据类型如表 所示 表 常见的数据基本类型 类型标识符 说明 Number 数字型 Int 整数型 Pls_integer 整数型 产生溢出时出现错误 Binary_integer 整数型 表示带符号的整数 Char 定长字符型 最大 个字符 Varchar 变长字符型 最大 个字符 Long 变长字符型 最长 GB Date 日期型 Boolean 布尔型(TRUE FALSE NULL三者取一) 在PL/SQL中使用的数据类型和Oracle数据库中使用的数据类型 有的含义是完全一致的 有的是有不同的含义的 基本数据类型变量的定义方法 变量名 类型标识符 [not null]:=值; 实例 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为age的数字型变量 长度为 初始值为 执行结果如图 所示 > ――――――――――――――――――――――――――――――――――――― declare age number( ):= ; begin mit; end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\basicdatatypedefine sql 复合数据类型变量 下面介绍常见的几种复合数据类型变量的定义 使用%type定义变量 为了让PL/SQL中变量的类型和数据表中的字段的数据类型一致 Oracle i提供了%type定义方法 这样当数据表的字段类型修改后 PL/SQL程序中相应变量的类型也自动修改 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为mydate的变量 其类型和tempuser testtable数据表中的currentdate字段类型是一致的 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― Declare mydate tempuser testtable currentdate%type; begin mit; end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\typedefine sql > 定义记录类型变量 很多结构化程序设计语言都提供了记录类型的数据类型 在PL/SQL中 也支持将多个基本数据类型捆绑在一起的记录数据类型 下面的程序代码定义了名为myrecord的记录类型 该记录类型由整数型的myrecordnumber和日期型的mycurrentdate基本类型变量组成 srecord是该类型的变量 引用记录型变量的方法是 记录变量名 基本类型变量名 程序的执行部分从tempuser testtable数据表中提取recordnumber字段为 的记录的内容 存放在srecord复合变量里 然后输出srecord mycurrentdate的值 实际上就是数据表中相应记录的currentdate的值 在【SQLPlus Worksheet】中执行下列PL/SQL程序 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― set serveroutput on declare type myrecord is record( myrecordnumber int mycurrentdate date); srecord myrecord; begin select * into srecord from tempuser testtable where recordnumber= ; dbms_output put_line(srecord mycurrentdate); end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\ recordtypedefine sql 在PL/SQL程序中 select语句总是和into配合使用 into子句后面就是要被赋值的变量 > 使用%rowtype定义变量 使用%type可以使变量获得字段的数据类型 使用%rowtype可以使变量获得整个记录的数据类型 比较两者定义的不同 变量名 数据表 列名%type 变量名 数据表%rowtype 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为mytable的复合类型变量 与testtable数据表结构相同 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― Declare mytable testtable%rowtype; begin select * into mytable from tempuser testtable where recordnumber= ; dbms_output put_line(mytable currentdate); end; ――――――――――――――――――――――――――――――――――――― > 【配套程序位置】 第 章\\ rowtypedefine sql 定义一维表类型变量 表类型变量和数据表是有区别的 定义表类型变量的语法如下 ――――――――――――――――――――――――――――――――――――― type 表类型 is table of 类型 index by binary_integer; 表变量名 表类型; ――――――――――――――――――――――――――――――――――――― 类型可以是前面的类型定义 index by binary_integer子句代表以符号整数为索引 这样访问表类型变量中的数据方法就是 表变量名(索引符号整数) 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为tabletype 和tabletype 的两个一维表类型 相当于一维数组 table 和table 分别是两种表类型变量 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― Declare type tabletype is table of varchar ( ) index by binary_integer; type tabletype is table of tempuser testtable recordnumber%type index by binary_integer; table tabletype ; table tabletype ; begin table ( ):= 大学 ; table ( ):= 大专 ; table ( ):= ; table ( ):= ; dbms_output put_line(table ( )||table ( )); dbms_output put_line(table ( )||table ( )); end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\ tabletypedefine sql > || 是连接字符串的运算符 定义多维表类型变量 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为tabletype 的多维表类型 相当于多维数组 table 是多维表类型变量 将数据表tempuser testtable中recordnumber为 的记录提取出来存放在table 中并显示 执行结果如图 所示 ――――――――――――――――――――――――――――――――――――― Declare type tabletype is table of testtable%rowtype index by binary_integer; table tabletype ; begin select * into table ( ) from tempuser testtable where recordnumber= ; dbms_output put_line(table ( ) recordnumber||table ( ) currentdate); end; ――――――――――――――――――――――――――――――――――――― 【配套程序位置】 第 章\\ tabletypedefine sql > 在定义好的表类型变量里 可以使用count delete first last next exists和prior等属性进行操作 使用方法为 表变量名 属性 返回的是数字 在【SQLPlus Worksheet】中执行下列PL/SQL程序 该程序定义了名为tabletype 的一维表类型 table 是一维表类型变量 变量中插入 个数据 综合使用了表变量属性 执 cha138/Article/program/Oracle/201311/17639相关参考
数据库PL/SQL异常处理(组图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在设计PL/S
oracle数据库PL/SQL序列(组图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 序列是
PL/SQL学习笔记(一) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 基本概念 &
PL/SQL最差实践 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 超长的PL/SQL代码 影
从pl/sql查询字段类型为number并且长度大于位的内容显示为科学计数法的计数方法 pl/sql 从pl/sql查询字段类型为number并且长度大于位的内容显示为科学计数法的计数方法后经
PL/SQL中用光标查询多条记录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PL/SQL光标
PL/SQL用光标查询多条记录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PL/SQL光标为
全面探讨PL/SQL的复合数据类型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! PL/SQL有
PL/SQL命名作用域的窍门 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 很多PL/SQL程序
PL/SQL开发中动态SQL的使用方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 内容摘要在