Howto löschen FK und alle abhängigen Einträge der Tabelle?
Ist dies der Fall.
Es gibt 3 Tabellen - Staat, region und Stadt. Wenn ich löschen Sie einen Staat mit dem Namen "Frankreich", möchte ich, dass alle Regionen und Städte gehören zu diesem Staat, werden gelöscht. Wie dies in T-SQL?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich gehe davon aus, dass Sie noch nicht eingerichtet haben löschweitergaben, so haben Sie zu arbeiten Sie Ihren Weg von unten nach oben: löschen Städten zuerst, dann die Regionen, dann Staat.
Obwohl Cascade-Löschen ist der Weg hier zu gehen, ich bin sehr unbequeme Einstellung, dass bis. Es fühlt sich an wie eine sehr unsichere Sache zu tun, so dass ich nie löschweitergaben.
Ich lieber tun Sie es in TSQL
dann löschen Sie Regionen
dann löschen Länder
delete from shipping_modes where type = 'fedex'
. Sie gerade verloren alle Ihre alten Bestellungen (zugegeben, Sie können bekommen Sie von backups) aber Sie verloren auch die neuen Aufträge, die noch nicht in das backup noch. Diese Szenarien nur machen mich nervös.Die einfachste Lösung ist, um sicherzustellen, dass Sie haben Löschweitergabe aktiviert, die auf die Beziehungen zwischen den Tabellen.
Wenn Sie aus irgendeinem Grund nicht aktivieren Sie die Cascade Löschen, dann werden Sie haben, um die Durchsetzung dieser Regel über einen Trigger auf der, State ' - Tabelle. (Btw, einen "Staat" namens Frankreich?)
Können Sie die Tabellen für die Kaskadierung löscht, so löschen Sie den Eintrag aus der Tabelle, wo alles Fremd ist eingegeben.