Wie werden DELETE-Anweisungen in PL / SQL basierend auf den Tabellen-FK-Beziehungen generiert?
Ist es möglich, mit Oracle PL / SQL über ein Skript / Tool viele Löschanweisungen basierend auf den Tabellen fk relations automatisch zu generieren?
In Beispiel: Ich habe die Tabelle: CHICKEN (CHICKEN_CODE NUMBER) und es gibt 30 Tabellen mit fk-Referenzen auf den CHICKEN_CODE, den ich löschen muss. Es gibt auch andere 150 Tabellen, die mit Fremdschlüsseln verknüpft sind, und die 30 Tabellen, die ich zuerst löschen muss.
Gibt es ein Tool / Skript PL / SQL, das ich ausführen kann, um alle erforderlichen Löschanweisungen basierend auf den FK-Beziehungen für mich zu generieren?
(Übrigens kenne ich die Kaskadenlöschung für die Relationen, aber bitte beachten Sie: ICH KANN ES NICHT IN MEINER PRODUKTIONSDATENBANK VERWENDEN, weil es gefährlich ist!)
Ich verwende Oracle DataBase 10G R2.
Bitte achte darauf:
Erstellen Sie Delete Statement aus Fremdschlüsselbeziehungen in SQL 2008?
Ein anderer Benutzer hat es gerade in SQL Server 2008 geschrieben. Kann jeder nach Oracle 10G PL / SQL konvertieren? Ich kann nicht... :-
Bitte nehmen Sie an, dass V_CHICKEN und V_NATION die Kriterien für die Auswahl des zu löschenden CHICKEN in der Stammtabelle sind: Die Bedingung lautet: "wobei COD_CHICKEN = V_CHICKEN UND COD_NATION = V_NATION" in der Stammtabelle.