In Microsoft SQL Server, ich weiß, die Abfrage Einschränkung, wenn ein Standardwert für eine Spalte vorhanden zu überprüfen und eine Standardeinschränkung fallen ist:Wie SQL-Standardeinschränkung zu löschen, ohne seinen Namen zu kennen?
IF EXISTS(SELECT * FROM sysconstraints
WHERE id=OBJECT_ID('SomeTable')
AND COL_NAME(id,colid)='ColName'
AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1)
ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName
Aber wegen in früheren Versionen der Datenbank Typo, der Name des Constraint könnte DF_SomeTable_ColName
oder DF_SmoeTable_ColName
sein.
Wie kann ich die Standardbedingung ohne SQL-Fehler löschen? Standard-Constraint-Namen werden nicht in der Tabelle INFORMATION_SCHEMA angezeigt, was die Sache ein wenig komplizierter macht.
So etwas wie 'löschen Sie die Standardbedingung in dieser Tabelle/Spalte' oder 'löschen DF_SmoeTable_ColName
', aber keine Fehler geben, wenn es nicht finden kann.
Ich bin nicht kompetent mit SQL Server können Sie eine Einschränkung umbenennen, nachdem Sie seine herausgefunden Name? "Ändern Sie die Tabelle in einigen Fällen in xy in yyy umbenennen". –