问题标签 [check-constraints]
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-server - 在 SQL SERVER 2008 的检查约束中创建自定义错误消息
我希望看到将自定义错误消息附加到 CONSTRAINT 对象的能力,特别是 CHECK 约束。直接或通过 sysmessages 中的自定义错误号。
我见过开发人员必须创建触发器。我认为这不是实施它的好理由。
我正在使用 SQL SERVER 2008。
sql-server-2005 - 多列约束
我有一个包含三列的表,即关系的 ID、相关对象的 ID 和对象的值。该表可能有尽可能多的重复 ID-Value 关系,但同一 ID 的 Value 为 0 时除外。
问题是当值为 0 时,如何强制它不允许重复的 ID-Value 关系?
sql-server-2008 - 是否可以添加一个检查约束来调用不同数据库中的用户定义函数?
我正在尝试将实际调用 SQL# CLR 函数 RegEx_IsMatch 的用户定义函数添加到列中,但出现此错误:
在此上下文中,用户定义的函数名称不能以数据库名称作为前缀。
但如果函数在不同的数据库中,我不知道该怎么做。
sql-server - 使 SQL Server 仅在插入或更新的行上使用 CHECK CONSTRAINT
我想将业务规则应用于表中的行(SQL Server 2008)。但是,表中存在不符合此规则的历史数据,并且没有好的方法使其符合(没有合理默认值的未知值。)所以我希望只检查新插入的 CHECK CONSTRAINT行,或更新行时。
我创建了这样一个约束,并设置了以下值:
- 在创建或重新启用时检查现有数据:否
- 强制插入和更新:是
- 强制复制:是
当我插入一条新记录时,一切似乎都很好。但是,如果我更新一条记录,即使更新后的记录符合 CHECK CONSTRAINT,CHECK CONSTRAINT 也会失败。就好像它试图在更新单行时将约束应用于所有行。我怎样才能防止这种情况?
这是约束:
更新是通过存储过程完成的:(ClaEvaluationId 是主键)
sql-server - 仅当设置了另一个位域时才允许设置位域
我在一个表中有两个字段,并且在更新时,只有在第一个字段已经设置时bit
,我才需要允许第二个字段设置(到)。1
因此,如果查询更新第二个字段,尝试将其设置为1
数据库,则如果第一个字段不是1
,则必须抛出错误,另一方面,如果查询同时更新这两个字段,则将它们都设置为1
- 它必须有效。
也许这可以通过检查约束来完成。
sql - SQL:检查约束依赖于其他表
我有 3 个表:成员、雇主和位置。
成员具有 MemberID、EmployerID 和 LocationID。
雇主有 EmployerID。
Location有 EmployerID、LocationID。
我需要对说的成员进行检查约束
成员的位置为空,或属于其雇主的位置
如何将 Member.LocationID 限制为具有相同 EmployerID 的位置?即:Member.EmployerID = Location.EmployerID
?
sql-server - 是否可以将 Unique 约束与 Check 约束相关联?
我有一个表access
,其架构如下:
允许的访问类型只有OUTER_PARTY and INNER_PARTY
.
我想要实现的是,INNER_PARTY
每个登录(用户)每天只能输入一次,但OUTER_PARTY
可以记录任意次数。所以我想知道是否可以直接这样做,或者是否有一个成语来创建这种限制。
我已经检查了这个问题:Combining the UNIQUE and CHECK constraints,但无法将其应用于我的情况,因为它的目标是不同的东西。
postgresql - 检查约束中的 SQL 子查询
我可以在检查约束中进行 SQL 子查询吗?
我有一个post
带列的表id, owner
我有另一个action
带列的user_id, post_id
表user
带列的表id
post_id -> post.id
还有user_id -> user.id
_post.owner -> user.id
现在我想限制post(post_id).id != user_id
表action
这怎么可能?
sql - 对子字符串的 SQL 检查约束
原谅我,如果这个问题在 SO 上的另一张票中得到解决……我一直在寻找,但似乎找不到完全正确的解决方案……
我正在创建一个表。“Creditor”列一直是数字,除了最后一个字符可能是破折号。
这意味着像“1234-”、“92846293”等示例是有效的,而“12354-53”、“12345K”是无效的。字符串长度不是固定的(除了它是 varchar(50))。
我不知道如何创建检查约束。
请帮忙!