问题标签 [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 - 一列的值不能大于另一列
我正在尝试创建一个表,其中一列中的值不能大于下一列。例如,我正在创建下表。
Current Price 不能大于 OriginalPrice。
所以我尝试做的是
但这给了我以下错误:
我不允许引用同一个表中的列吗?
php - 使用 postgres 约束进行表单验证
我们正在迁移到 postgresql 数据库,我们希望使用尽可能多的约束检查。问题是当我想验证 Web 表单时,有很多难以维护的重复代码。是否可以将此数据库检查也用于 Web 表单验证?该应用程序是用 PHP 编写的,数据库层是pomm。目标只是获取所有填充值,将其发送到数据库并获取所有失败的约束,而无需在 PHP 应用程序中定义其他规则。我怎样才能达到最简单的方法?
sql - alter 命令与检查约束冲突(但没有行违反约束)
我正在尝试在 sql server 2008 上添加检查约束。运行此代码时出现以下错误:
引发错误:
ALTER TABLE 语句与 CHECK 约束“noWWWifProgramIsKnown”冲突。冲突发生在数据库“db”、表“dbo.tableuniversalservice”中。
Marc_s 对 SO 的回答说这可能是 b/c 某些行违反了约束: ALTER TABLE 语句冲突
但是,没有行违反约束,因为这将返回 0:
我错过了什么?
sql - SQL Server 唯一组合检查约束
可能重复:
唯一约束,不包括 NULL 值
假设我有一张带有地址的表,并且我希望所有者只有一个主要地址。我先定义索引/键还是检查约束?这是什么表达方式?
所以我需要一个独特的(IsMain ==true AND ownerId
)组合
sql - Postgres中关系表的强制参与
代表强制参与 Postgres 的最佳方式是什么?我曾经使用 CHECK 约束或 Sybase 中的 INSERT 和 DELETE TRIGGER 来执行此操作。Postgres 不支持 CHECK 约束中的子查询,我无法正确触发。
我想找到以下替代方案:
java - 检查约束 SQL Server 的元数据
我有一个 SQL Server 数据库,它包含一个表,其中varchar
列有一个检查约束,以确保只能输入几个不同的单词作为值(名称)。
像这样
我想做的是用这些名称填充java中的组合框,我不想手动输入它们,因为它们可能会在数据库中更改。我想从元数据中填充它。
但是我还没有找到一种方法从数据库中获取信息,INFORMATION_SCHEMA
或者sys.objects
(或者从Java中的DatabaseMetaData)
我对 SQL Server 很陌生,但有可能以某种方式获取这些信息吗?
问候/弗雷德
sql - SQL 约束,以防止根据其先前值更新列
是否可以使用检查约束(或其他一些技术)来防止在更新记录时设置与其先前值相矛盾的值。
一个示例是 NULL 时间戳,表示发生了某些事情,例如“file_exported”。一旦文件被导出并具有非 NULL 值,就不应再次将其设置为 NULL。
另一个例子是命中计数器,其中整数只允许增加,但不能减少。
如果有帮助,我正在使用 postgresql,但我希望看到适合任何 SQL 实现的解决方案
sql - 复杂外键
我有一个类似的表:
我正在尝试做的是添加一个表驱动的约束,它可以有效地限制每列的有效条目。例如,如果我制作了第二张桌子:
然后我想检查存储在 Table1 列“Option_1”中的值是否存在于 Table2 列“FK_Value”中,其中“FK_Name”的值为“Option_1”。
这可以通过支票或 FK 实现吗?
** 编辑以使列数据类型匹配;我手动输入了示例表声明和错字,这与问题无关。我知道如何进行 FK,但我不知道如何像我所描述的那样进行 FK。
sql - 具有自引用和不明确列的关系表
我正在为一个系统编写一个关系数据模型,该模型跟踪浏览器中呈现的一组框,每个框都包含渲染图像。
目前,只有一个表:Box。每行都有 x 和 y 坐标、宽度和高度列,以及用于图像内容类型(例如 mime 类型)和内容位置(例如文件路径或 URL)的列。
有些盒子有一层嵌套——即一个盒子可以包含另一个盒子。在这些情况下,内容类型列具有特殊值“box”,并且位置是对 Box 表的自引用。
某些内容类型(少数)具有与内容类型相关的额外值,例如,如果图像文件是更复杂的多页格式(例如 PDF),那么我需要存储将在框中呈现的页面。
我可以/应该在一张表中表示这个吗?在这种情况下,额外的参数可以(例如)作为查询字符串存储在文件 URL (/path/to/PDF.pdf?page=4) 中。
如何处理更新自引用 Box 行?即,如果我删除一个包含另一个框的框,则应删除两行。我不能在位置列上使用外键约束,因为它可以是 url(用于非嵌套框)或框行 ID(用于嵌套框)。
sql - Oracle 2-attribute CHECK 约束问题
我有一张“学生”表和几个属性——其中两个在这个特定问题中很重要。我需要确保任何具有“初级”分类(年级)的学生的时间正好在 55 到 84 小时之间(学分)。
这是我迄今为止在 Oracle 中的声明方式(删除了不必要的代码):
甲骨文抛出错误:
我确定我没有正确格式化约束,但是我的教授花了大约 3 秒钟的时间来声明并告诉我们自己弄清楚。我知道 1 属性约束,但我不知道如何同时混合和匹配 2 个属性。有人可以帮我吗?
*基本上在任何其他代码中,它看起来像嵌套的 if 语句:
我似乎无法将其转换为 SQL。如果这该死的东西中的间距很奇怪,我很抱歉,我无法将其格式化以挽救我的生命。