如何在 Informix 中创建 CHECK 约束?

Posted

技术标签:

【中文标题】如何在 Informix 中创建 CHECK 约束?【英文标题】:How to create CHECK constraints in Informix? 【发布时间】:2019-09-10 19:26:04 【问题描述】:

我需要在 Informix 表中的字段(列)中创建验证。在 SQL Server 内部,名称为 CHECK(例如:CHECK (Age>=18))

在 Informix 中如何创建,或者,在 Informix 中有什么类似的语法?

【问题讨论】:

“nama”是什么意思?此外,您可以在将它们插入表格之前进行此验证 Informix 中有一个特点,即约束名称跟在约束之后,而不是像标准 SQL 中那样在约束之前。也就是说,在标准 SQL 中,您可以编写 CHECK CONSTRAINT check_age (Age >= 18),但在 Informix 中,您必须改为编写 CHECK (Age >= 18) CONSTRAINT check_age。您可以在创建表时添加约束,或者稍后使用 ALTER TABLE 添加它们。 【参考方案1】:

如果要添加检查约束,可以通过两种方式进行:

1) 下一个示例向 items 表添加一个新的 unit_price 列,并包含一个检查约束以确保输入的值大于 0:

ALTER TABLE items 
   ADD (unit_price MONEY (6,2) CHECK (unit_price > 0));

2) 要创建一个检查多个列中的值的约束,请使用 ADD CONSTRAINT 子句。下面的示例在上一个示例中添加的列上构建一个约束。检查约束现在跨越表中的两列。

ALTER TABLE items ADD CONSTRAINT CHECK (unit_price < total_price);

Have a look at the doc

【讨论】:

以上是关于如何在 Informix 中创建 CHECK 约束?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Informix 中创建 BTS 索引

如何在 Informix SQL 中创建屏幕表单?

如何在informix中创建触发器?

在 Informix 中创建 TEMP 存储过程

如何在maria DB中创建检查约束以检查char类型的多个值?

在informix中创建存储过程