Ich versuche, herauszufinden, wie einen Datensatz zu löschen, die für die Verwendung .. IN .. LOOPPL/SQL - Löschen aktuellen Datensatz in IN LOOP
FOR REC IN (SELECT * FROM WORKLIST) LOOP
GET_DATA(REC);
--DELETE REC FROM WORKLIST
END LOOP;
Die GET_DATA Prozedur jede Zeile auf mehrere diejenigen explodiert so wird der aktuelle veraltet. Ich versuche gerade den aktuellen Datensatz zu löschen. Nicht sicher, ob dies in diesem Fall mit dem REC-Objekt möglich ist.
Leider hat WORKLIST keine Schlüssel.
'For Update' wird im Allgemeinen entwertet. Dies kann Deadlocks verursachen. Lesen Sie hier mehr https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:4530093713805 – XING
@XING - Ich glaube, Sie haben Tom Kytes Antwort missverstanden. FOR UPDATE ermöglicht uns die Implementierung einer pessimistischen Sperrstrategie, die * Deadlocks vermeidet. – APC
@APC. Im vorherigen Abschnitt wurde auch gezeigt, dass 'FOR UPDATE 'Deadlocks verursachte. Ich meinte richtig. Bitte beachten Sie den ganzen Artikel – XING