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等。

 

 

 

你可能感兴趣的:(sql,C++,c,C#)