易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 系列:PL/SQL表

 Oracle 系列: PL/SQL表
一,什么是PL/SQL表?
 首先PL/SQL表和记录(Record)一样,都是复合数据类型。可以看做是一种用户自定义数据类型。
 PL/SQL表由多列单行的标量构成的临时索引表对象。组成类似于一维数组。
 区别和联系记录(Record)的单行多列和物理存储数据的表。
 Record + PL/SQL表可以进行数据的多行多列存储。
 生命周期在程序块内。
二,PL/SQL表的组成结构
 PL/SQL表只有两列,其中第一列为索引列为Integer类型索引列,9i后可以支持字符索引。第二列为用户自定义列,声明用户可用列类型.
 通过索引列中的索引值来操作PL/SQL表中对应的用户自定义列。类似于键值对。
 确保索引值的唯一性。如果索引值重复不会报错,会覆盖前面的值。
三,如何创建和使用PL/SQL表?
 ①声明PL/SQL表类型对象
  语法:
   TYPE  PL/SQL表名  IS TABLE  OF 可用列类型  [NOT NULL]
    INDEX BY BINARY_INTEGER;
 
  可用列类型可以为Oracle的数据类类型以及用户自定义类型;
 
  属性方法:
   count --返回pl/sql表的总行数;
   delect --删除pl/sql表的所有内容;
   delect(行数) --删除pl/sql表的指定的行;
   delct(开始行,结束行) --删除pl/sql表的多行;
   first --返回表的第一个INDEX;
   next(行数) --这个行数的下一条的INDEX;
   last --返回表的最后一个INDEX;
 
 ②声明PL/SQL表类型变量:
  语法:
   PL/SQL表类型变量名   PL/SQL表类型;
 
 ③数据填充和访问
  语法:
   PL/SQL表类型变量名(索引列值) := 填充声明类型值;
  
   PL/SQL表类型变量名.属性方法名;
 
 例子:
 Declare
  Type  MyTabType  Is  Table  Of  VarChar2(10)  Index By  Binary_Integer;
  MyTab  MyTabType;
  vN  Number(4);
 Begin
  MyTab(1) :=  'A';
  MyTab(2) :=  'B';
  MyTab(3) :=  'C'; --覆盖前面索引值为3对应的列值B
  vN := MyTab.First;
  DBMS_OUTPUT.PUT_LINE(


相关文档:

使用SQLServer模板来写规范的SQL语句

如果你经常遇到下面的问题,你就要考虑使用SQL Server的模板来写规范的SQL语句了:
SQL初学者。
经常忘记常用的DML或是DDL SQL 语句。
在多人开发维护的SQL中,每个人都有自己的SQL习惯,没有一套统一的规范。
在SQL Server Management Studio中,已经给大家提供了很多常用的现成SQL规范模板。
SQL Server Management ......

关于oracle导入sqlserver存在的唯一索引问题

我在把oracle数据导入sqlserver中时,发现在oracle中字段定义为唯一索引时,不同记录的此字段如果为空不被认为是重复的,但在sqlserver中如果此字段为唯一索引字段,不允许有2个以上的空值。郁闷。所以只好将sqlserver中的唯一索引字段手工修改为几个非空的值,但这样程序肯定要进行修改了。需要在程序中为此字段设置不重复 ......

常见Oracle数据库备份策略介绍

1 操作系统备份
操作系统备份和恢复实施起来比较简单,当然也比较费时,要求系统停止使用,此过程包括关闭数据库并从系统上注销所有用户。所有访问被解除之后,系统关闭并以单用户方式重新启动,控制权交给系统管理员,这一步确保没有用户应用程序软件运行,避免修改硬盘上的数据。如果这个备份用于恢复数据库系统,那么系 ......

Oracle中NVL2 和NULLIF的用法

NULL指的是空值,或者非法值。
NVL (expr1, expr2)->expr1为NULL,返回expr2;不为NULL,返回expr1。注意两者的类型要一致
NVL2 (expr1, expr2, expr3) ->expr1不为NULL,返回expr2;为NULL,返回expr3。expr2和expr3类型不同的话,expr3会转换为expr2的类型
NULLIF (expr1, expr2) ->相等返回NULL,不等返回ex ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号