Ich habe den Namen der Tabelle durch die Prozedur sp_rename.Do ändern muss ich fk Einschränkung der untergeordneten Tabelle ändern?sql: muss die Einschränkung für die Umbenennungstabelle geändert werden?
Antwort
Constraints und Indizes werden automatisch umbenannt werden, aber Sie müssen manuell in gespeicherten Prozeduren benenne zu arbeiten, Trigger, benutzerdefinierte Funktionen und Ansichten, die Referenz Der Tisch. Siehe the documentation on MSDN.
Nein, die Änderung des Tabellennamens hat auch die entsprechenden Metadaten in den Systemkatalogen aktualisiert, sodass die Einschränkung immer noch auf die richtige Tabelle verweist.
Sie können das folgende Skript verwenden, um alle Fremdschlüssel zu identifizieren, um Ihre Änderung zu bestätigen, wenn Sie dies wünschen.
SELECT PKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
PKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O1.SCHEMA_ID)),
PKTABLE_NAME = CONVERT(SYSNAME,O1.NAME),
PKCOLUMN_NAME = CONVERT(SYSNAME,C1.NAME),
FKTABLE_QUALIFIER = CONVERT(SYSNAME,DB_NAME()),
FKTABLE_OWNER = CONVERT(SYSNAME,SCHEMA_NAME(O2.SCHEMA_ID)),
FKTABLE_NAME = CONVERT(SYSNAME,O2.NAME),
FKCOLUMN_NAME = CONVERT(SYSNAME,C2.NAME),
-- Force the column to be non-nullable (see SQL BU 325751)
--KEY_SEQ = isnull(convert(smallint,k.constraint_column_id), sysconv(smallint,0)),
UPDATE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsUpdateCascade')
WHEN 1 THEN 0
ELSE 1
END),
DELETE_RULE = CONVERT(SMALLINT,CASE OBJECTPROPERTY(F.OBJECT_ID,'CnstIsDeleteCascade')
WHEN 1 THEN 0
ELSE 1
END),
FK_NAME = CONVERT(SYSNAME,OBJECT_NAME(F.OBJECT_ID)),
PK_NAME = CONVERT(SYSNAME,I.NAME),
DEFERRABILITY = CONVERT(SMALLINT,7) -- SQL_NOT_DEFERRABLE
FROM SYS.ALL_OBJECTS O1,
SYS.ALL_OBJECTS O2,
SYS.ALL_COLUMNS C1,
SYS.ALL_COLUMNS C2,
SYS.FOREIGN_KEYS F
INNER JOIN SYS.FOREIGN_KEY_COLUMNS K
ON (K.CONSTRAINT_OBJECT_ID = F.OBJECT_ID)
INNER JOIN SYS.INDEXES I
ON (F.REFERENCED_OBJECT_ID = I.OBJECT_ID
AND F.KEY_INDEX_ID = I.INDEX_ID)
WHERE O1.OBJECT_ID = F.REFERENCED_OBJECT_ID
AND O2.OBJECT_ID = F.PARENT_OBJECT_ID
AND C1.OBJECT_ID = F.REFERENCED_OBJECT_ID
AND C2.OBJECT_ID = F.PARENT_OBJECT_ID
AND C1.COLUMN_ID = K.REFERENCED_COLUMN_ID
AND C2.COLUMN_ID = K.PARENT_COLUMN_ID
Dieses Skript aus wurde gelesen: Identify all of your foreign keys in a SQL Server database
Das ist wirklich osum Sachen dude.Thanks –
Gern geschehen, froh zu helfen. –
[hier] (http://stackoverflow.com/questions/8094156/know-relationships-between-all-the-tables-of-database-in-sql-server) ist ** ein anderes Skript **, Hoffnung hilft jemandem . – stom
- 1. Wix Komponente muss Guid geändert werden, wenn die Anwendung
- 2. Abfrage für die Einschränkung verknüpfter Entitäten
- 3. Muss die Methode synchronisiert werden?
- 4. Passwörter funktionieren nicht, nachdem der Maschinenschlüssel für die VS2015-Aktualisierung geändert werden muss
- 5. Beim Löschen einer Einschränkung werden die unterstützenden Indizes ebenfalls gelöscht.
- 6. Win32: Überwachung für Dateien, die erstellt oder geändert werden
- 7. Die Einschränkung kann nicht
- 8. Kann die Suchmethode in LINQ geändert werden?
- 9. die SQL-Spalten auf UPDATE-Anweisung geändert
- 10. Kann die Steuerungscode-Generierungsvorlage geändert werden?
- 11. Die externe SSIS-Metadatenspalte muss entfernt werden
- 12. Die Datei machine.config konnte nicht geändert werden
- 13. Zurück Schaltfläche Einschränkung für die App
- 14. Gemeinsame Einschränkung für die Einzelteile eines hList
- 15. Variablen, die von TeamSpeak API für PHP geändert werden
- 16. AutoFill-Funktionalität für Website, die Quellcode kann nicht geändert werden
- 17. Wie werden die Eigenschaften nicht geändert oder geändert?
- 18. VB.net SQL-Fehler muss die skalare Variable
- 19. muss die Scaler-Variable in SQL deklarieren
- 20. Kann die Farbe eines Optionsfelds geändert werden?
- 21. Wie kann die Template-Instanziierungsreihenfolge geändert werden?
- 22. SingleOrDefault: Wie können die Standardwerte geändert werden?
- 23. Kann die Verzögerungsrate von UIScrollView geändert werden?
- 24. Fremdschlüssel Einschränkung in SQL
- 25. Muss die Aufgabe im Finalizer abgebrochen werden?
- 26. Muss ich einen Trigger für eine solche einfache Einschränkung schreiben?
- 27. SQL Server - Muss die Skalarvariable deklarieren
- 28. Muss zweimal für die CSV-Datei gespeichert werden
- 29. Muss für alle Bindungen die URLACL festgelegt werden?
- 30. Eclipse MyLyn mit BugZilla: Muss die BugZilla-Installation geändert/konfiguriert werden?
Vielen Dank für die Rettung von einem Morgen unnötige Arbeit :-) – EvilDr