Chci udělat ALTER TABLE
výraz, který přidá nový sloupec a nastaví výchozí hodnotu a navíc definuje povolené hodnoty pro tento sloupec. Je to textový sloupec a povoleno by mělo být pouze 'value1', 'value2' a 'value3'. Výchozí hodnota by měla být 'value1'
Podle následujících syntaktických diagramů:
Dostávám se k tomuto bodu
ALTER TABLE exampleTable ADD COLUMN new_column VarChar(20) DEFAULT 'value1'
ale rozhodně si nejsem jistý, jak nastavit povolené hodnoty.
Je možné něco udělat
CONSTRAINT CHECK new_column IN ('value1', 'value2', 'value3)
? Musím přiznat search condition
diagram mě docela matou.
alter table ExampleTable
add (new_column varchar(20) default 'value1',
constraint ckExampleTable check (new_column in ('value1', 'value2', 'value3')));
Vlastně byste to měli udělat jako dvě různá prohlášení:
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'))
SQL Server:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (column_name IN ('aaa', 'bbb', ...))