1、index-by,只存在PLSQL中。
在PLSQL的一个语句块中定义。
TYPE tabletype IS TABLE OF type INDEX BY BINARY_INGEGER;
SET SERVEROUTPUT ON;
DECLARE
TYPE branch_codes IS TABLE OF branch_info.branch_code%TYPE INDEX BY BINARY_INTEGER;
v_branch_codes branch_codes;
BEGIN
v_branch_codes(1) := '1';
v_branch_codes(2) := '2';
v_branch_codes(3) := '3';
FOR i IN 1..v_branch_codes.count LOOP
dbms_output.put_line(v_branch_codes(i));
END LOOP;
END;
/
2、嵌套表,可存在数据库中,可直接用SQL进行操作。
TYPE table_name IS TABLE OF table_type[not null]
初始化
3、可变数组
declare
-- Non-scalar parameters require additional processing
p_liability_param_arr gcmcde.t_liability_param_arr;
p_liability_result_arr gcmcde.t_liability_param_arr;
v_rec_liability_param gcmcde.rec_liability_param;
BEGIN
v_rec_liability_param := NEW gcmcde.rec_liability_param('C000000000000040',1,'P0000000000000000001','CBAC_AN1','06001','');
p_liability_param_arr := NEW gcmcde.t_liability_param_arr();
p_liability_param_arr.extend;
p_liability_param_arr(1) := v_rec_liability_param;
gcmcde.l_gclaim_rule_pkg.prepare_adjust_param(p_liability_param_arr => p_liability_param_arr,
p_liability_result_arr => p_liability_result_arr,
p_flag => :p_flag,
p_message => :p_message);
end;