Manchmal kann es nützlich sein, den Wert oder den Ausdruck einer DEFAULT Einschränkung abzufragen.
Hier ist eine Variante die auch noch unter SQL Server 2000 funktioniert:
SELECT
def.text
FROM
sysobjects sysObj (NOLOCK)
JOIN
syscolumns sysCol (NOLOCK) ON sysCol.id = sysObj.id
LEFT JOIN
syscomments def (NOLOCK) ON def.id = sysCol.cdefault AND def.colid = 1
WHERE
sysObj.name = 'MeineTabelle' AND
sysObj.Type = 'U' AND
sysCol.name = 'MeineSpalte';
Ab SQL Server 2005 würde man wahrscheinlich stattdessen folgendes ausführen:
SELECT
DC.definition
FROM
sys.default_constraints DC
JOIN
sys.columns C ON DC.parent_object_id = C.object_id AND DC.parent_column_id = C.column_id
WHERE
OBJECT_NAME(DC.parent_object_id) = 'MeineTabelle' AND
C.name = 'MeineSpalte';