Auch im MS-SQL Server kann man alle Meta-Daten einer Tabelle abfragen – bis auf die DefaultValues.
Hier mein Script, was prüft, ob es die benötigten Felder einer Tabelle gibt und diese auch den gewünschten DefaultValue haben.
SELECT * FROM #local.db.table# SELECT cdefault,id AS TableID FROM SYSCOLUMNS WHERE ID = (SELECT id FROM SYSOBJECTS WHERE name = '#local.db.table#') AND name = '#listFirst(local.myField,'=')#' SELECT name FROM SYSOBJECTS WHERE id = (SELECT cdefault FROM SYSCOLUMNS WHERE id = (SELECT id FROM SYSOBJECTS WHERE name = '#local.db.table#') AND name = '#listFirst(local.myField,'=')#') ALTER TABLE #local.db.table# DROP CONSTRAINT #local.getDefaultName.name# ALTER TABLE #local.db.table# ADD CONSTRAINT DF_#replace(createUUID(),'-','_','all')# DEFAULT (#listLast(local.myField,'=')#) FOR #listFirst(local.myField,'=')# ALTER TABLE #local.db.table# ADD #listFirst(local.myField,'=')# BIT NULL CONSTRAINT DF_#replace(createUUID(),'-','_','all')# DEFAULT (#listLast(local.myField,'=')#)
Sicherheitshalber noch als Download-Link, weil die Anzeige des Quelltexten leider Müll formatiert.