知识大全 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异常处理(组图)

数据库PL/SQL异常处理(组图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在设计PL/S

知识大全 oracle数据库PL/SQL序列(组图)

oracle数据库PL/SQL序列(组图)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  序列是

知识大全 PL/SQL学习笔记(一)

PL/SQL学习笔记(一)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  基本概念 &

知识大全 PL/SQL最差实践

PL/SQL最差实践  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  超长的PL/SQL代码  影

知识大全 pl/sql查询字段为科学计数法

  从pl/sql查询字段类型为number并且长度大于位的内容显示为科学计数法的计数方法  pl/sql  从pl/sql查询字段类型为number并且长度大于位的内容显示为科学计数法的计数方法后经

知识大全 PL/SQL中用光标查询多条记录

PL/SQL中用光标查询多条记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PL/SQL光标

知识大全 PL/SQL用光标查询多条记录

PL/SQL用光标查询多条记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PL/SQL光标为

知识大全 全面探讨PL/SQL的复合数据类型

全面探讨PL/SQL的复合数据类型  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  PL/SQL有

知识大全 PL/SQL命名作用域的窍门

PL/SQL命名作用域的窍门  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  很多PL/SQL程序

知识大全 PL/SQL开发中动态SQL的使用方法

PL/SQL开发中动态SQL的使用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  内容摘要在