Hallo zusammen,
bräuchte wieder kurz eure Hilfe. Ich habe einen NESTED TABLE und möchte in diese einen SELECT INTO machen. Die Idee dahinter ist, dass ich später (in einem anderen Procedure) die Daten vom NESTED TABLE aufrufen kann ohne die Tabelle direkt anzusprechen. Natürlich packe ich das ganze in ein PACKAGE.
Leider bekomme ich hier den Fehler:
ORA-00932: Inkonsistente Datentypen: - erwartet, - erhalten
ORA-06512: in "HOSSEINM.CREATE_TAB1", Zeile 13
ORA-06512: in Zeile 1
Hier mein Code:
bräuchte wieder kurz eure Hilfe. Ich habe einen NESTED TABLE und möchte in diese einen SELECT INTO machen. Die Idee dahinter ist, dass ich später (in einem anderen Procedure) die Daten vom NESTED TABLE aufrufen kann ohne die Tabelle direkt anzusprechen. Natürlich packe ich das ganze in ein PACKAGE.
Leider bekomme ich hier den Fehler:
ORA-00932: Inkonsistente Datentypen: - erwartet, - erhalten
ORA-06512: in "HOSSEINM.CREATE_TAB1", Zeile 13
ORA-06512: in Zeile 1
Hier mein Code:
Code:
CREATE OR REPLACE TYPE stat_tab_object IS OBJECT(z_col NUMBER, v_col1 NUMBER, v_col2 NUMBER); / CREATE OR REPLACE PROCEDURE create_tab1(table_in IN VARCHAR2,column1 IN VARCHAR2,column2 IN VARCHAR2,column3 IN VARCHAR2) IS TYPE cur_crosstab IS REF CURSOR; cur_cross cur_crosstab; TYPE stat_tab IS TABLE OF stat_tab_object; stat_tab_table stat_tab; BEGIN OPEN cur_cross FOR 'SELECT '||column1||','||column2||','||column3|| ' FROM '||table_in; FETCH cur_cross BULK COLLECT INTO stat_tab_table; FOR i IN stat_tab_table.FIRST..stat_tab_table.LAST LOOP dbms_output.put_line(TO_CHAR(stat_tab_table(i).z_col,'99.9')|| ' '||TO_CHAR(stat_tab_table(i).v_col1,'99.9')||' '||TO_CHAR(stat_tab_table(i).v_col2,'99.9')); END LOOP; CLOSE cur_cross; END create_tab1; /
Comment