SQLServer sys.default_constraints介绍

   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;

       结果:

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值