Oracle DBでテーブルを作成し、列で許可されている数値が1、2、3になるように制約を追加しようとしています。
CREATE TABLE "TABLE_EXAMPLE"
(
.
.
"PROTOCOL" NUMBER (1,2,3),
....)
CONSTRAINT "CH1"
CHECK ("PROTOCOL" BETWEEN 1 AND 3),
私は正しいことをしていますか、それとももっと良い方法ですか?
Oracle DBでテーブルを作成し、列で許可されている数値が1、2、3になるように制約を追加しようとしています。
CREATE TABLE "TABLE_EXAMPLE"
(
.
.
"PROTOCOL" NUMBER (1,2,3),
....)
CONSTRAINT "CH1"
CHECK ("PROTOCOL" BETWEEN 1 AND 3),
私は正しいことをしていますか、それとももっと良い方法ですか?
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などが含まれます。
"
また、テーブル名または列名に特殊文字が含まれていない限り、引用符は使用しないことをお勧めします...
テーブルレベルでチェックインする場合は、チェック制約が最善の方法です。より大きな値を挿入する場合、チェック制約はエラーをスローするためです。