C# 如何检查列默认约束是否存在?

C# 如何检查列默认约束是否存在?,c#,sql-server-2008,dataset,default-constraint,C#,Sql Server 2008,Dataset,Default Constraint,我想检查列是否已具有默认约束,或者是否仅具有表名和列名数据。使用该记录计数,我们可以创建约束 我们是否有任何其他属性来检查dataset中该列是否存在约束?查询 select COLUMN_DEFAULT from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @tableName and COLUMN_NAME = @columnName 将返回为列指定的默认值(null如果未定义默认值) 更新: 以下查询还将检索约束的名称: select

我想检查列是否已具有默认约束,或者是否仅具有表名和列名数据。使用该记录计数,我们可以创建约束

我们是否有任何其他属性来检查dataset中该列是否存在约束?

查询

select COLUMN_DEFAULT 
from INFORMATION_SCHEMA.COLUMNS
where TABLE_NAME = @tableName
and COLUMN_NAME = @columnName
将返回为列指定的默认值(
null
如果未定义默认值)


更新:

以下查询还将检索约束的名称:

select 
    dc.name,
    dc.definition
from sys.default_constraints dc
join sys.objects o
    on o.object_id = dc.parent_object_id
join sys.columns c
    on o.object_id = c.object_id
    and c.column_id = dc.parent_column_id
where o.name = @tableName
and c.name = @columnName
如果没有返回行,则列上没有定义默认约束