问题标签 [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.

0 投票
1 回答
7397 浏览

sql-server - 检查约束 SQL 中的 IF

我有这张桌子。。

通过一些检查..

在上面的这两个中,我将 TSI_Unidad 的默认值设置为“Dia”,但该字段只能包含 Dia 或 Hora 通过第二个约束。

但是我有一个问题,我必须定义可以为空的 TSI_HoraMin 和 TSI_HoraMax(如果 TSI_Unidad 是 Dia,它们必须可以为空),但是如果 TSI_Unidad 是 Hora,[TSI_HoraMin] 和 [TSI_HoraMax] 不能为空。

我想创建一个新的约束,但我不知道我该怎么做..

会是这个想法。。

但显然,这个约束没有很好地定义。

0 投票
3 回答
22745 浏览

sql - 将 CHECK 约束添加到已填充的表

我创建了一个名为test列的表,名为code

然后我用以下数据填充了表格:

然后我更改了该列以使其成为 char(4):

然后,我在所有现有数据中添加了一个“X”,使其变为 4 个字符长:

到目前为止一切都很好,但是当我尝试添加检查约束时:

我收到了这个错误:

The ALTER TABLE statement conflicted with the CHECK constraint "codeCheck".

我了解该错误意味着现有数据违反了我尝试添加到表中的检查约束,但为什么呢?

以及如何使现有数据和检查约束不相互冲突?

0 投票
1 回答
1411 浏览

oracle - Oracle 自动生成的检查约束

当我创建列不为空的表时,Oracle 会自动创建不为空的检查约束:像这样(来自 user_constraints 视图的查询)

那么,有什么方法可以知道 Oracle(Auto) 创建的约束还是用户创建的约束。

谢谢你。

0 投票
1 回答
871 浏览

regex - Oracle CHECK 对两个日期字符串变体的约束

我正在使用一个遗留的 Oracle 数据库,该数据库的列包含格式如下的日期字符串:

列数据类型是VARCHAR2(12)(尽管11就足够了)。这两种表示都可以出现在单个列中。

问题:如何编写一个CHECK允许列中的这两个日期字符串变体的约束?

0 投票
4 回答
55064 浏览

sql - 检查约束中的子查询

我在SQL-Server2008 R2 中设计了表格。

我在该表中有一个列,在插入数据时需要对照另一个表进行检查。

这会导致错误

在这种情况下不允许子查询。只允许标量表达式。

我已经查看了关于Check Constraint-Subqueries are not allowed in this context 的这个问题。

有什么方法可以在不使用触发器的情况下实现这一点?

0 投票
2 回答
3671 浏览

sql - 如何创建一个简洁的 SQL“检查约束”,禁止所有字符串字段使用某些字符?

我有一个包含一些VARCHAR字段的 SQL (SQL Server Express 2008) 表。

我想创建一个Check Constraint确保没有任何VARCHAR值包含某些字符。

示例:(不允许在 FirstName 和 LastName 列中使用<>?字符)

上面的 SQL 语法可以正常工作,但如果有速记方法来做同样的事情,那就太好了。请注意示例中的冗余。如果我想添加更多列和/或无效字符,这很麻烦

如果我们能做这样的事情就好了:

Check Constraint我可以在表达式中做这样的事情吗?

0 投票
2 回答
297 浏览

oracle - Oracle - 检查约束最大 x 字数

我想添加一个检查约束来检查一个字段是否有最大数量的 X 个空格“”。我在 oracle 网站上找不到任何关于它的信息。有人知道这是否可能吗?也许通过 PL/SQL 函数?

0 投票
1 回答
801 浏览

sql - 在基于元组的检查中,如何引用我当前在子查询中检查的元组?

这是我目前正在使用的架构:

我正在编写一个基于元组的检查,其中没有两个工作室可以有相同的地址。我想写这样的东西:

如何引用属于当前正在检查的元组的名称属性?

0 投票
1 回答
1376 浏览

triggers - Oracle 11g:插入前检查数据

我有三张桌子,电影,表演和房间。我想在给定的房间里为一部电影插入新的节目,我想我可以用一个触发器来做到这一点,如果没有与现有的时间冲突,我可以用一个触发器来完成。

我写了这个:

如果我不使用“pragma automatic_transaction”,我会收到table s%s is mutating错误消息。但是,当然对于事务,触发器看不到:new值。我还想用 CHECK CONSTRAINT 进行检查,但我不知道它是否有效。你能帮我找到解决办法吗?

0 投票
1 回答
2776 浏览

sql - 如何编写更改表语句以添加约束

我是 SQL 新手。我创建了几个表:

对于第一个表,我添加了以下约束:

但我得到了错误invalid ALTER TABLE option。你能告诉我为什么会出现这种情况吗?这同样适用于朋友,但不适用于我。

对于第二个表,我必须为业务规则编写 SQL 命令:

如果设计师的资格是 BS,则需要至少 4 年的经验。但是,如果设计师的资格是 MS,那么至少 2 年的经验就足够了。

我们如何在 SQL 中定义这个业务规则?