问题标签 [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 中的 IF
我有这张桌子。。
通过一些检查..
在上面的这两个中,我将 TSI_Unidad 的默认值设置为“Dia”,但该字段只能包含 Dia 或 Hora 通过第二个约束。
但是我有一个问题,我必须定义可以为空的 TSI_HoraMin 和 TSI_HoraMax(如果 TSI_Unidad 是 Dia,它们必须可以为空),但是如果 TSI_Unidad 是 Hora,[TSI_HoraMin] 和 [TSI_HoraMax] 不能为空。
我想创建一个新的约束,但我不知道我该怎么做..
会是这个想法。。
但显然,这个约束没有很好地定义。
sql - 将 CHECK 约束添加到已填充的表
我创建了一个名为test
列的表,名为code
:
然后我用以下数据填充了表格:
然后我更改了该列以使其成为 char(4):
然后,我在所有现有数据中添加了一个“X”,使其变为 4 个字符长:
到目前为止一切都很好,但是当我尝试添加检查约束时:
我收到了这个错误:
The ALTER TABLE statement conflicted with the CHECK constraint "codeCheck".
我了解该错误意味着现有数据违反了我尝试添加到表中的检查约束,但为什么呢?
以及如何使现有数据和检查约束不相互冲突?
oracle - Oracle 自动生成的检查约束
当我创建列不为空的表时,Oracle 会自动创建不为空的检查约束:像这样(来自 user_constraints 视图的查询)
那么,有什么方法可以知道 Oracle(Auto) 创建的约束还是用户创建的约束。
谢谢你。
regex - Oracle CHECK 对两个日期字符串变体的约束
我正在使用一个遗留的 Oracle 数据库,该数据库的列包含格式如下的日期字符串:
列数据类型是VARCHAR2(12)
(尽管11
就足够了)。这两种表示都可以出现在单个列中。
问题:如何编写一个仅CHECK
允许列中的这两个日期字符串变体的约束?
sql - 检查约束中的子查询
我在SQL-Server
2008 R2 中设计了表格。
我在该表中有一个列,在插入数据时需要对照另一个表进行检查。
这会导致错误
在这种情况下不允许子查询。只允许标量表达式。
我已经查看了关于Check Constraint-Subqueries are not allowed in this context 的这个问题。
有什么方法可以在不使用触发器的情况下实现这一点?
sql - 如何创建一个简洁的 SQL“检查约束”,禁止所有字符串字段使用某些字符?
我有一个包含一些VARCHAR
字段的 SQL (SQL Server Express 2008) 表。
我想创建一个Check Constraint
确保没有任何VARCHAR
值包含某些字符。
示例:(不允许在 FirstName 和 LastName 列中使用<、>或?字符)
上面的 SQL 语法可以正常工作,但如果有速记方法来做同样的事情,那就太好了。请注意示例中的冗余。如果我想添加更多列和/或无效字符,这很麻烦
如果我们能做这样的事情就好了:
Check Constraint
我可以在表达式中做这样的事情吗?
oracle - Oracle - 检查约束最大 x 字数
我想添加一个检查约束来检查一个字段是否有最大数量的 X 个空格“”。我在 oracle 网站上找不到任何关于它的信息。有人知道这是否可能吗?也许通过 PL/SQL 函数?
sql - 在基于元组的检查中,如何引用我当前在子查询中检查的元组?
这是我目前正在使用的架构:
我正在编写一个基于元组的检查,其中没有两个工作室可以有相同的地址。我想写这样的东西:
如何引用属于当前正在检查的元组的名称属性?
triggers - Oracle 11g:插入前检查数据
我有三张桌子,电影,表演和房间。我想在给定的房间里为一部电影插入新的节目,我想我可以用一个触发器来做到这一点,如果没有与现有的时间冲突,我可以用一个触发器来完成。
我写了这个:
如果我不使用“pragma automatic_transaction”,我会收到table s%s is mutating
错误消息。但是,当然对于事务,触发器看不到:new
值。我还想用 CHECK CONSTRAINT 进行检查,但我不知道它是否有效。你能帮我找到解决办法吗?
sql - 如何编写更改表语句以添加约束
我是 SQL 新手。我创建了几个表:
对于第一个表,我添加了以下约束:
但我得到了错误invalid ALTER TABLE option
。你能告诉我为什么会出现这种情况吗?这同样适用于朋友,但不适用于我。
对于第二个表,我必须为业务规则编写 SQL 命令:
如果设计师的资格是 BS,则需要至少 4 年的经验。但是,如果设计师的资格是 MS,那么至少 2 年的经验就足够了。
我们如何在 SQL 中定义这个业务规则?