PL/SQL 學習筆記 5 表(table)

pl/sql中的表类似于c语言中的数组。

1. 定义表类型的语法如下:

TYPE tabletype IS TABLE OF type INDEX BY BINARY_INTEGER;

 type是预定义的标量的类型,或者是通过%type指向标量的类型的引用。一个简单的例子:

TYPE t_charTable IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;

 2. 引用的语法如下。

tableName(index);

     index为binary_integer变量或者是可以转换成binary_integer变量的表达式。

     表应用的一个实际的例子:

declare 
  type t_table is table of varchar2(10) index by BINARY_integer; 
  MyTab  t_table;
begin
  MyTab(1) :=  'A';
  MyTab(2) :=  'B';
  MyTab(3) :=  'C';
  DBMS_OUTPUT.PUT_LINE('First index:'||'  '|| mytab(1) ||'  ');
end;

 3. pl/sql表的特点。

     。表大小的限制是由binary_integer类型的取值范围决定的。

     。表中的元素不需要按照特定的次序排列。因为它们不是连续的存在内存中,所以可以按任何顺序插入。

     版本2.3之后,表允许存储记录的表。如下面的代码:

DECLARE
    TYPE t_StudentTable IS TABLE OF students%ROWTYPE INDEX BY BINARY_INTEGER;
    v_Students t_StudentTable;
BEGIN
    SELECT * INTO v_Students(1100)
    FROM students
    WHERE id=1100;
    DBMS_OUTPUT.PUT_LINE( v_Students(1100).OUUSRNM);
END;

    然后可以以 table(index).field 来对其内容进行引用。

    表还有一些属性以方便表的使用。如 count、first、last、exists等。

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值