Oracle
SQL 設置列的允許值
我想創建一個
ALTER TABLE
表達式來添加一個新列並設置一個預設值,並額外定義該列的允許值。它是一個文本列,允許的應該只有“value1”、“value2”和“value3”。預設應為“value1”根據以下語法圖:
我到了這一點
ALTER TABLE exampleTable ADD COLUMN new_column VarChar(20) DEFAULT 'value1'
但我絕對不確定如何設置允許的值。
有沒有可能做類似的東西
約束檢查 new_column IN (‘value1’, ‘value2’, ‘value3)
? 我必須承認這張
search condition
圖讓我很困惑。
alter table ExampleTable add (new_column varchar(20) default 'value1', constraint ckExampleTable check (new_column in ('value1', 'value2', 'value3')));
您實際上應該將其作為兩個不同的語句來執行:
ALTER TABLE test ADD new_column VARCHAR(20) DEFAULT 'value1' ALTER TABLE test ADD CONSTRAINT CK_exampleTable_newColumn CHECK (new_column IN ('value1','value2','value3'))