Dies passiert häufig, wenn man graphische Tools wie SSMS zum Tabellendesign verwendet oder seine CREATE TABLE Statements folgendermassen schreibt:
Manchmal kann es nützlich sein, den Wert oder den Ausdruck einer DEFAULT Einschränkung abzufragen.
SELECT OBJECTPROPERTY(O.[OBJECT_ID], 'CnstIsUpdateCascade') AS updcascade, OBJECTPROPERTY(O.[OBJECT_ID], 'CnstIsDeleteCascade') AS delcascade, [name] FROM sys.objects O WHERE OBJECTPROPERTY(O.[OBJECT_ID], 'IsForeignKey') = 1 AND (OBJECTPROPERTY(O.[OBJECT_ID], 'CnstIsUpdateCascade') = 1 OR OBJECTPROPERTY(O.[OBJECT_ID], 'CnstIsDeleteCascade') = 1) ORDER BY 1 DESC, 3
Das nachfolgende Skript löscht alle existierenden Einschränkungen für die angegebene Tabelle. Will man alle Einschränkungen der aktuellen Datenbank löschen, muss man einfach nur die WHERE Zeile auskommentieren oder entfernen.
UniqueKey: Die Werte eines UNIQUE KEY Index sind eindeutig. Ein NULL Wert kann genau einmal gespeichert werden.
PrimaryKey: Die Werte eines PRIMARY KEY Index, sind eindeutig und nicht NULL. NULL ist nicht zulässig.