将数据插入表时SQL可接受的值范围

时间:2012-06-07 15:04:07

标签: sql

在表中插入值是否有任何方法可以避免将无效数据导入列?

ex Table - Item

Itno - pk
Itdesc
salesprice - Acceptable values should > 150 and < 10500

TY

2 个答案:

答案 0 :(得分:1)

以下语法适用于MySQL / SQL Server / Oracle / MS Access。

CREATE TABLE mytable
(
Itno int NOT NULL,
Itdesc varchar(255) NOT NULL,
salesprice  int,
CONSTRAINT chk_salesprice  CHECK (salesprice >150 AND salesprice < 10500)
)

您还可以使用带有Check Constraint的用户定义函数来验证动态值。

UDF with Check Constraint

Refer to see more examples

答案 1 :(得分:0)

除了@Romil的回答之外,大多数RDBMS的支持触发器可以在提交之前或之后验证数据。

通常首选CHECK约束,但有时(特别是在必须根据变量标准评估数据的情况下)触发器是唯一的方法。