Pokud tomu rozumím, omezení výchozí hodnoty nejsou součástí normy ISO, takže se neobjevují v INFORMAČNÍM SCHÉMATU. INFORMAČNÍ SCHÉMA se zdá být nejlepší volbou pro tento druh úlohy, protože je multiplatformní, ale pokud informace nejsou k dispozici, měli byste použít zobrazení katalogu objektů (sys.*) namísto zobrazení systémových tabulek, které jsou v SQL Server zastaralé. 2005 a později.
Níže je téměř stejná odpověď jako @user186476. Vrací název omezení výchozí hodnoty pro daný sloupec. (Pro uživatele, kteří nepoužívají SQL Server, potřebujete název výchozího nastavení, abyste jej mohli zrušit, a pokud výchozí omezení nepojmenujete sami, SQL Server vytvoří nějaký šílený název, například „DF_TableN_Colum_95AFE4B5“. své schéma v budoucnu, vždy explicitně pojmenujte svá omezení!)
-- returns name of a column's default value constraint
SELECT
default_constraints.name
FROM
sys.all_columns
INNER JOIN
sys.tables
ON all_columns.object_id = tables.object_id
INNER JOIN
sys.schemas
ON tables.schema_id = schemas.schema_id
INNER JOIN
sys.default_constraints
ON all_columns.default_object_id = default_constraints.object_id
WHERE
schemas.name = 'dbo'
AND tables.name = 'tablename'
AND all_columns.name = 'columnname'