Sql表添加约束以检查数量限制

时间:2013-01-22 11:38:17

标签: sql oracle ddl check-constraint

我正在oracle DB中创建一个表并尝试添加约束,以便列中允许的数字为1,2,3。

CREATE TABLE "TABLE_EXAMPLE"
(
.
.
"PROTOCOL" NUMBER (1,2,3),

....)

CONSTRAINT "CH1"
        CHECK ("PROTOCOL" BETWEEN 1 AND 3),

我做对了还是做得更好?

2 个答案:

答案 0 :(得分:5)

CREATE TABLE TABLE_EXAMPLE 
(
 ...
  PROTOCOL NUMBER(1) NOT NULL CONSTRAINT CH1 CHECK (PROTOCOL IN (1,2,3))
 ...
);

BETWEEN 1 AND 3包括1.5,1.6等

我建议不要使用引号",除非表名或列名中有特殊字符...

答案 1 :(得分:2)

如果您要检查表级别检查约束是最好的方法。因为如果你插入更大的值,那么检查约束ll抛出错误。