sys.default_constraints (Transact-SQL)

作为默认定义且 sys.objects.type = D 的每个对象在表中各对应一行,该默认定义是作为 CREATE TABLE 或 ALTER TABLE 语句的一部分创建的,而不是作为 CREATE DEFAULT 语句的一部分创建的。

列名

数据类型

说明

<从 sys.objects 继承的列>

 

有关此视图所继承列的列表,请参阅sys.objects (Transact-SQL)

parent_column_id

int

此默认值所属的 parent_object_id 中的列的 ID。

Definition

nvarchar(max)

定义此默认值的 SQL 表达式。

SQL Server 2008 和 SQL Server 2005 对目录元数据中的 SQL 表达式进行解码和存储的方式不同于 SQL Server 2000。解码后的表达式的语义等同于原始文本,但是没有语法保证。例如,删除了被解码表达式中的空格。

is_system_named

bit

1 = 名称由系统生成。

0 = 名称由用户提供。

权限

在 SQL Server 2005 及更高版本中,目录视图中仅显示用户拥有的安全对象的元数据,或用户对其拥有某些权限的安全对象的元数据。有关详细信息,请参阅元数据可见性配置

示例

以下示例返回应用于 HumanResources.Employee 表 VacationHours 列的 DEFAULT 约束的定义。

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 c.name = 'VacationHours';