问题标签 [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.
sql - 在多列上检查约束
我使用 SQL Server 2008
我在同一个表中的多个列上使用 CHECK CONSTRAINT 来尝试验证数据输入。
我收到一个错误:
列“AAAA”的列 CHECK 约束引用另一列,表“XXXX”。
CHECK CONSTRAINT 不能以这种方式工作。
在不使用 FK 的情况下在单个表上实现此功能的任何其他方式?
谢谢
这是我的代码示例
sql - SQL Server 2008:检查约束,保证所有行中只有一个值设置为 1,其他值为 0
需要在列上建立约束,以保证所有行中只有一个值为 1,而所有其他值为 0。
存在带触发器的解决方案,但我想内置一些东西。
这样的事情有可能吗?
sql - 如何限制 SQL 表中允许的记录数?
假设我有两个表,Parent 和 Child。Parent 有一个 MaxChildren (int) 字段,Child 有一个 Enabled (bit) 字段和一个 ParentID (int) 字段链接回父记录。
我希望有一个约束,使得每个父级的 Enabled = 1 的记录不能超过 MaxChildren 记录。这意味着如果在 Child 表中插入或更新任何记录的任何尝试超过适用的 MaxChildren 值,或任何将 MaxChildren 降低到当前适用子记录数以下的尝试都将失败。
我正在使用 MS SQL Server,但我希望有一种标准的 SQL 方式。
sql - 如何使用 CHECK 约束来限制非数字 varchar2(仅限字母)?
我有一列 NAME
它必须只包含字符而不是数字
如何使用 CHECK 条件:
或任何其他方法...
编辑:使用 Oracle 数据库。
sybase - 检查提供的字符串的长度
我正在尝试定义一个仅允许传递 6 个字符字符串的域。我通过以下方式声明它:
但这似乎无法捕获超过 6 个字符的字符串。有没有办法强制执行?
sql - 没有 UDF 的 SQL 检查约束
我有以下(虚构的)表格:
在Occupation
表中,有 2 行:Student
和Teacher
。
绑定表B_Occupation_Person
允许我给所有人一个职业,B_Course_Person
绑定表允许我将老师与课程联系起来。
我的问题是我想确保B_Course_Person
只能包含教师。
我的第一个想法是在这个表上添加一个检查约束,但我只能通过使用 UDF 从B_Occupation_Person
表中获取该人的职业来做到这一点。从我在这里读到的内容来看,在检查约束中使用 UDF 是不好的。
我的第二个想法是Occupation
在B_Course_Person
表中添加一列,但随后我得到了数据冗余......
什么是最好的方法,在这里?
谢谢,
java - 检查约束 SQL Server 的元数据
我有一个 SQL Server 数据库,它包含一个表,其中varchar
列有一个检查约束,以确保只能输入几个不同的单词作为值(名称)。
像这样
我想做的是用这些名称填充java中的组合框,我不想手动输入它们,因为它们可能会在数据库中更改。我想从元数据中填充它。
但是我还没有找到一种方法从数据库中获取信息,INFORMATION_SCHEMA
或者sys.objects
(或者从Java中的DatabaseMetaData)
我对 SQL Server 很陌生,但有可能以某种方式获取这些信息吗?
问候/弗雷德
sql - Sql表添加约束以检查数量限制
我正在 oracle DB 中创建一个表并尝试添加约束,以便列中允许的数字为 1、2、3。
我做得对还是有更好的方法?
entity-framework-4 - EF4 自动检查约束
如何在 EF4 CodeFirst 中指定检查约束。
示例:我有一个字符串属性,我只能为其设置特定值。
sql - SQL 约束,一个列值不能大于另一个表中的另一个值
这可能不是一个很好的问题,因为它将业务逻辑与数据库结构混合在一起,但这不是我的决定:
是否可以定义一个约束来推断一列(表 A,列 X)的值不能大于通过外键引用的另一列(表 B,列 Y)的值:
即我想对 Y, Y < L 的所有值强制执行,其中 L 是来自 X 的值,其中 TABLE_B.A_ID == TABLE_A.ID
我正在使用 DB2。