Es gibt keinen Befehl aus zwei Tabellen löschen verknüpfen, dass. Aber ich schlage zwei Szenarien vor. Das erste Szenario kann für nicht übergeordnete/untergeordnete Tabellen verwendet werden. Das zweite Szenario kann für Eltern-/Kindtabellen verwendet werden.
Erste: Sammeln Sie alle Ihre gemeinsamen des PK oder ein gemeinsames Feld Ihrer Tabellen. (Sicher haben Sie ein gemeinsames Feld). wie unten Abfrage:
Verwenden Sie dann Reihenfolge der Löschbefehle in einer Transaktion.
delete from dept where DEPTNO IN (Select a.DEPTNO from emp a , dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10)
delete from emp where DEPTNO IN (Select a.DEPTNO from emp a , dept b where a.DEPTNO=b.DEPTNO and a.DEPTNO=10)
Zweite: verwenden CASCADE Konfiguration DELETE. (nur für Eltern/Kind-Tabellen)
Diese Lösung ist schädlich, wenn die Nebenwirkungen nicht kontrolliert werden können.
Beim kaskadierenden Löschen werden die entsprechenden Datensätze in der untergeordneten Tabelle automatisch gelöscht, wenn ein Datensatz in der übergeordneten Tabelle gelöscht wird.
Sie können es in einer einzelnen Abfrage nicht tun. Sie müssten zwei Abfragen aus 2 Tabellen löschen. – XING
können Sie erklären, –
Siehe unten Antwort. Seine gut erklärt – XING