问题标签 [check-constraint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
50527 浏览

sql - 在多列上检查约束

我使用 SQL Server 2008

我在同一个表中的多个列上使用 CHECK CONSTRAINT 来尝试验证数据输入。

我收到一个错误:

列“AAAA”的列 CHECK 约束引用另一列,表“XXXX”。

CHECK CONSTRAINT 不能以这种方式工作。

在不使用 FK 的情况下在单个表上实现此功能的任何其他方式?

谢谢

这是我的代码示例

0 投票
1 回答
1597 浏览

sql - SQL Server 2008:检查约束,保证所有行中只有一个值设置为 1,其他值为 0

需要在列上建立约束,以保证所有行中只有一个值为 1,而所有其他值为 0。

存在带触发器的解决方案,但我想内置一些东西。

这样的事情有可能吗?

0 投票
1 回答
1971 浏览

sql - 如何限制 SQL 表中允许的记录数?

假设我有两个表,Parent 和 Child。Parent 有一个 MaxChildren (int) 字段,Child 有一个 Enabled (bit) 字段和一个 ParentID (int) 字段链接回父记录。

我希望有一个约束,使得每个父级的 Enabled = 1 的记录不能超过 MaxChildren 记录。这意味着如果在 Child 表中插入或更新任何记录的任何尝试超过适用的 MaxChildren 值,或任何将 MaxChildren 降低到当前适用子记录数以下的尝试都将失败。

我正在使用 MS SQL Server,但我希望有一种标准的 SQL 方式。

0 投票
2 回答
6101 浏览

sql - 如何使用 CHECK 约束来限制非数字 varchar2(仅限字母)?

我有一列 NAME
它必须只包含字符而不是数字
如何使用 CHECK 条件:

或任何其他方法...

编辑:使用 Oracle 数据库。

0 投票
1 回答
6551 浏览

sybase - 检查提供的字符串的长度

我正在尝试定义一个仅允许传递 6 个字符字符串的域。我通过以下方式声明它:

但这似乎无法捕获超过 6 个字符的字符串。有没有办法强制执行?

0 投票
2 回答
645 浏览

sql - 没有 UDF 的 SQL 检查约束

我有以下(虚构的)表格:

Occupation表中,有 2 行:StudentTeacher

绑定表B_Occupation_Person允许我给所有人一个职业,B_Course_Person绑定表允许我将老师与课程联系起来。

我的问题是我想确保B_Course_Person只能包含教师。

我的第一个想法是在这个表上添加一个检查约束,但我只能通过使用 UDF 从B_Occupation_Person表中获取该人的职业来做到这一点。从我在这里读到的内容来看,在检查约束中使用 UDF 是不好的。

我的第二个想法是OccupationB_Course_Person表中添加一列,但随后我得到了数据冗余......

什么是最好的方法,在这里?

谢谢,

0 投票
1 回答
926 浏览

java - 检查约束 SQL Server 的元数据

我有一个 SQL Server 数据库,它包含一个表,其中varchar列有一个检查约束,以确保只能输入几个不同的单词作为值(名称)。

像这样

我想做的是用这些名称填充java中的组合框,我不想手动输入它们,因为它们可能会在数据库中更改。我想从元数据中填充它。

但是我还没有找到一种方法从数据库中获取信息,INFORMATION_SCHEMA或者sys.objects(或者从Java中的DatabaseMetaData)

我对 SQL Server 很陌生,但有可能以某种方式获取这些信息吗?

问候/弗雷德

0 投票
2 回答
3439 浏览

sql - Sql表添加约束以检查数量限制

我正在 oracle DB 中创建一个表并尝试添加约束,以便列中允许的数字为 1、2、3。

我做得对还是有更好的方法?

0 投票
1 回答
981 浏览

entity-framework-4 - EF4 自动检查约束

如何在 EF4 CodeFirst 中指定检查约束。

示例:我有一个字符串属性,我只能为其设置特定值。

0 投票
1 回答
4808 浏览

sql - SQL 约束,一个列值不能大于另一个表中的另一个值

这可能不是一个很好的问题,因为它将业务逻辑与数据库结构混合在一起,但这不是我的决定:

是否可以定义一个约束来推断一列(表 A,列 X)的值不能大于通过外键引用的另一列(表 B,列 Y)的值:

即我想对 Y, Y < L 的所有值强制执行,其中 L 是来自 X 的值,其中 TABLE_B.A_ID == TABLE_A.ID

我正在使用 DB2。