sys.default_constraints (Transact-SQL)

Contains a row for each object that is a default definition (created as part of a CREATE TABLE or ALTER TABLE statement instead of a CREATE DEFAULT statement), with sys.objects.type = D.

Column name Data type Description

<Columns inherited from sys.objects>


For a list of columns that this view inherits, see sys.objects (Transact-SQL).



ID of the column in parent_object_id to which this default belongs.



SQL expression that defines this default.

SQL Server 2005 differs from SQL Server 2000 in the way it decodes and stores SQL expressions in the catalog metadata. The semantics of the decoded expression are equivalent to the original text; however, there are no syntactic guarantees. For example, white spaces are removed from the decoded expression. For more information, see, Behavior Changes to Database Engine Features in SQL Server 2005.



1 = Name was generated by system.

0 = Name was supplied by the user.


The following example returns the definition of the DEFAULT constraint that is applied to the VacationHours column of the HumanResources.Employee table.

SELECT d.definition FROM sys.default_constraints d
INNER JOIN sys.columns c
ON d.parent_column_id = c.column_id
WHERE d.parent_object_id = OBJECT_ID(N'HumanResources.Employee', N'U')
AND = 'VacationHours';

See Also


Object Catalog Views (Transact-SQL)
Catalog Views (Transact-SQL)

Other Resources

Querying the SQL Server System Catalog FAQ

Help and Information

Getting SQL Server 2005 Assistance

Change History

Release History

17 July 2006

New content:
  • In the definition column, added content about how SQL expressions are stored in SQL Server 2005.
  • Added the example.