So aktualisieren Sie mit inner join in Oracle

8

Könnte jemand bitte überprüfen, ob innerer Join mit UPDATE-Anweisung in PL SQL gültig ist? z.B.

%Vor%     
Nil Pun 23.02.2012, 10:07
quelle

2 Antworten

15

Dieser Synthax wird in Oracle SQL nicht funktionieren.

In Oracle können Sie manchmal einen Join aktualisieren, wenn die Tabellen "Schlüssel-konserviert" sind, dh:

%Vor%

Unter der Annahme, dass b_pk der Primärschlüssel von b ist, ist der Join hier aktualisierbar, da für jede Zeile von A höchstens eine Zeile von B ist, daher ist das Update deterministisch.

In Ihrem Fall, da der aktualisierte Wert nicht von einer anderen Tabelle abhängt, können Sie ein einfaches Update mit einer EXIST-Bedingung verwenden, etwa so:

%Vor%     
Vincent Malgrat 23.02.2012, 10:30
quelle
1
%Vor%     
L Petre 08.10.2014 14:55
quelle

Tags und Links