Ich versuche, alle Fremdschlüsseleinschränkungen mit UPDATE_RULE
in der Datenbank auf festgelegt zu ändern, und ändern Sie diese Regel zu 'CASCADE'
. Also, ich weiß, ich sollte zuerst diese Einschränkung fallen lassen und neu hinzufügen.Sql-Server - alle Fremdschlüsseleinschränkungen dynamisch ändern Update_Rule
Um dies zu tun, habe ich die folgende Abfrage versucht, alle relevanten Einschränkungen zu erhalten, und dann jede Zeile iterieren und eine dynamische SQL-Abfrage erstellen, die die Einschränkung fallen lassen, und wird es nur mit einem anderen UPDATE_RULE
neu hinzufügen Wert.
Um jedoch die Einschränkung hinzuzufügen, brauche ich den Tabellennamen, wo der Primärschlüssel definiert ist, und ich habe es nicht in meiner Abfrage. Ich habe nur den Namen der Tabelle, wo der Fremdschlüssel:
SELECT *
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS AS RC
INNER JOIN INFORMATION_SCHEMA.table_constraints AS CU
ON CU.CONSTRAINT_CATALOG = RC.CONSTRAINT_CATALOG
AND CU.CONSTRAINT_NAME = RC.CONSTRAINT_NAME
WHERE UPDATE_RULE = 'NO ACTION'
Irgendwelche Vorschläge, wie es zu tun? Ich muss nur die Bedingung UPDATE_RULE
Wert ändern.