CREATE OR REPLACE procedure abc
IS
TYPE abc is table of varchar2(200);
v_nt abc;
BEGIN
select 'update emp_test set ename=''gaurav'' ' bulk collect into v_nt from emp;
forall i in v_nt.first..v_nt.last
execute immediate v_nt(i);
END;
/
Hallo, Ich bin das oben beschriebene Verfahren zu schaffen und immer Zeitfehler kompiliert, wie unten dargestellt:Fehler: PLS-00801: interne Fehler [*** ASSERT in Datei pdw4.c
Compilation errors for PROCEDURE SCOTT.ABC
Error: PLS-00801: internal error [*** ASSERT at file pdw4.c, line 586; Unknown expression Expr = 283.; ABC__SCOTT__P__53497[11, 1]] Line: 11 Text: execute immediate v_nt(i);
Wie kann ich dies beheben, wie ich diese Transaktion in loser Schüttung tun muss.
Die Update-Anweisung sieht sehr verdächtig erzielt die unten arbeiten. Es sieht so aus, als ob Sie versuchen, jede Zeile in emp_test mit demselben Ename zu aktualisieren, und Sie möchten dieses Update einmal für jede Zeile in der emp-Tabelle ausführen. Mit anderen Worten, wenn es 10 Emp-Datensätze gibt, werden Sie alle 10 Datensätze, jeweils 10-mal, alle auf den gleichen Wert aktualisieren. –