语法如下:
TYPE type_name IS TABLE OF
{datatype | {variable | table.column} % type | table%rowtype};
INDEX BY BINARY_INTEGER ;
语法说明如下:
--table_name 创建的表类型名称。
--IS TABLE 表示创建的是表类型。
--datatype 可以是任何合法的PL/SQL数据类型,例如varchar2。
--INDEX BY BINARY_INTEGER 指定系统创建一个主键索引,用于引用表类型变量中的特定行。
declare
type my_record_type is record(
v_id varchar2(32),
v_name varchar2(100)
);
type my_table_type is table of my_record_type
index by BINARY_INTEGER;
begin
dbms_output.put_line('11111111111111');
end;
方法 描述
EXISTS(n):Return TRUE if the nth element in a PL/SQL table exists;
COUNT:Returns the number of elements that a PL/SQL table currently contains;
FIRST\LAST:Return the first and last (smallest and lastest) index numbers in a PL/SQL table. Returns NULL if the PL/SQL table is empty.
PRIOR(n):Returns the index number that precedes index n in a PL/SQL table;
NEXT(N):Returns the index number that succeeds index n in a PL/SQL table;
TRIM:TRIM removes one element from the end of a PL/SQL table.
TRIM(n):removes n element from the end of a PL/SQL table.
DELETE:DELETE removes all elements from a PL/SQL table.
DELETE(n):removes the nth elements from a PL/SQL table.
DELETE(m, n):removes all elements in the range m to n from a PL/SQL table.
⑤变量赋值
variable := expression;
variable 是一个PL/SQL变量, expression 是一个PL/SQL 表达式.
⑥字符及数字运算特点
空值加数字仍是空值:NULL + < 数字> = NULL
空值加(连接)字符,结果为字符:NULL || <字符串> = < 字符串>
⑦可转换的类型赋值
CHAR 转换为NUMBER:
使用TO_NUMBER 函数来完成字符到数字的转换,如:
v_total := TO_NUMBER(‘100.0’) + sal;
NUMBER 转换为CHAR:
使用TO_CHAR函数可以实现数字到字符的转换,如:
v_comm := TO_CHAR(‘123.45’) || ’元’ ;
字符转换为日期:
使用TO_DATE函数可以实现字符到日期的转换,如:
v_date := TO_DATE('2001.07.03','yyyy.mm.dd');
日期转换为字符
使用TO_CHAR函数可以实现日期到字符的转换,如:
v_to_day := TO_CHAR(SYSDATE, 'yyyy.mm.dd hh24:mi:ss') ;
⑧注释
在PL/SQL里,可以使用两种符号来写注释,即:
使用双‘-‘ ( 减号) 加注释:PL/SQL允许用–-来写注释,它的作用范围是只能在一行有效
使用/* */ 来加一行或多行注释:它的作用范围在多行有效
提示:被解释存放在数据库中的PL/SQL 程序,一般系统自动将程序头部的注释去掉。
只有在PROCEDURE 之后的注释才被保留;另外程序中的空行也自动被去掉。