Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann ich vor einem Löschvorgang in SQL Server nach Einschränkungen suchen?

Dies ist eine Frage, die oberflächlich gut aussieht, aber Implikationen hat.

Zuallererst müssten Sie sicherstellen, dass, nachdem Sie den Status dieser Beziehungen gelesen haben, niemand diese ändern kann, also müssen Sie offensichtlich eine Transaktion verwenden und die betreffenden Zeilen sperren.

Dann brauchen Sie einen Weg, um herauszufinden, welche Relationen zu überprüfen sind, wie ich in einem Kommentar hier Ihre Frage sehe, was passiert, wenn jemand später eine neue Relation hinzufügt. Sie müssen also das Schema abfragen oder diesen Code vielleicht automatisch aus dem Schema generieren, sodass der Erkennungsmechanismus nur jedes Mal ausgeführt werden muss, wenn Sie das Schema ändern.

Scheint die Ausnahme, die Sie erhalten, nach dieser Tortur wirklich so teuer zu sein?