1、最常用
1.1直接
v_varchar constant varchar2(30) := 'TEST';
v_number number;
v_date date;
v_boolean boolean;
1.2复制
v_ord_id ord_sales_order_header.order_id%type;
v_number_2 v_number%type;
1.3 行复制
r_ord_table ord_sales_order_header%rowtype;
2、复合类型
type pl_test is record(
segment1 gl_interface.segment1%type,
segment2 gl_interface.segment2%type,
segment3 gl_interface.segment3%type);
begin
l_test pl_test;
l_test.segment1:='1';
end;
3.类似数组
--使用这种数组必须先初始化,初始化下标可以是负数,也可以不连续,但是必选初始化后才可以使用
declare
type type1 is table of varchar2(30) index by binary_integer;
type type2 is table of afa_fund_transfer_all%rowtype index by binary_integer;
type type3 is table of type1 index by binary_integer;
type_table type2;
type_type type3;
begin
--嵌套表
type_table(1).transfer_id := 1;
type_table(2).TRANSFER_ID := 2;
type_table(2).ATTRIBUTE1 := 'test1';
type_table(2).ATTRIBUTE2 := 'test2';
type_table(2).ATTRIBUTE3 := 'test3';
--嵌套数组相当于二维数组
type_type(1)(1):=1;
type_type(1)(2):=2;
end;