sys.default_constraints 是 SQL Server 的系统视图,它包含了数据库中所有默认约束的信息。默认约束是数据库对象(如表中的列)的约束,它为列定义了一个默认值,当在插入新行时没有为该列提供值时,将使用这个默认值。
   sys.default_constraints 视图提供了关于这些默认约束的详细信息,如约束的名称、所属的表、约束的列、默认值等。
    以下是在 sys.default_constraints 视图中的内容:
- name: 默认约束的名称。
- object_id: 默认约束的对象ID。
- parent_object_id: 包含此默认约束的表的对象ID。
- parent_column_id: 约束所应用的列的ID。
- definition: 约束的默认值或表达式。
- is_ms_shipped: 指示是否是由系统生成的约束。
- is_disabled: 指示约束是否已被禁用。
示例:首先,我们创建一个新表,并给其中的某些列设置默认值:
CREATE TABLE ExampleTable (  ID INT PRIMARY KEY IDENTITY(1,1),  Name NVARCHAR(100) NOT NULL,  Age INT DEFAULT 25,  IsActive BIT DEFAULT 1,  CreatedDate DATETIME DEFAULT GETDATE()  
);       现在,假设我们想要查询这个新表的列及其默认值,我们可以用 sys.default_constraints 和其他系统视图:
SELECT   c.name AS column_name,  t.name AS table_name,  dc.definition AS default_value  
FROM   sys.columns c  
LEFT JOIN   sys.default_constraints dc ON c.default_object_id = dc.object_id  
INNER JOIN   sys.tables t ON c.object_id = t.object_id  
WHERE   t.name = 'ExampleTable' AND  dc.parent_column_id = c.column_id;结果:
