今天一朋友發給我一個存儲過程,裏面有我一些不懂的東西,現記錄如下:
TYPE IS TABLE OF VARCHAR2 INDEX BY VARCHAR 有這麼一段不明白什麼意思,自己做了一個測試:
CREATE OR REPLACE procedure pro_parttable_auto
as
v_table_name varchar2(100);
TYPE type_array_str IS TABLE OF VARCHAR2(32) INDEX BY VARCHAR(32);
v_array_table type_array_str;
begin
v_array_table('STATIC_AGG_HOUR') := 'PART_AGGHOUR_';
v_array_table('STATIC_AGG_PROVINCE_DAY') := 'PART_PROV_';
v_table_name := v_array_table.FIRST;
loop
exit when v_table_name is null;
dbms_output.put_line(v_array_table(v_table_name));
dbms_output.put_line(v_table_name);
v_table_name := v_array_table.next(v_table_name);
end loop;
end;
/
set serveroutput on
exec pro_parttable_auto
PART_AGGHOUR_
STATIC_AGG_HOUR
PART_PROV_
STATIC_AGG_PROVINCE_DAY
PL/SQL procedure successfully completed.