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

标签 c# sql-server-2008 dataset default-constraint

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

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

最佳答案

查询

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

如果没有返回任何行,则说明该列没有定义默认约束。

关于c# - 如何检查列默认约束是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14232796/

相关文章:

c# - 在我的 asp.net mvc 中找不到允许最多 2 位数字的 [RegularExpression]

c# - 在 CentOS 上使用 Mono 与使用 Microsoft IIS 一样好

sql - sql中如何连接两个不相关的表

SQL Server 2008更改数据捕获,谁进行了更改?

sql-server-2008 - 比较 2 个表的值并列出不同的行

c# - .NET 中 int 的字符串格式选项

r - 如何在 R 中创建一个变量来明确另一个变量的差异?

dataset - 推荐系统需要多少数据?

winforms - 创建的参数化查询未显示在数据源 Visual Studio 10 和访问中

c# - Angular 6 Asp.Net(非核心)Web Api CORS 请求失败