Je veux faire un ALTER TABLE
expression qui ajoute une nouvelle colonne et définit une valeur par défaut et définit en outre les valeurs autorisées pour cette colonne. Il s'agit d'une colonne de texte et autorisée ne doit être que "valeur1", "valeur2" et "valeur3". La valeur par défaut doit être 'value1'
Selon les diagrammes de syntaxe suivants:
J'arrive à ce point
ALTER TABLE exampleTable ADD COLUMN new_column VarChar(20) DEFAULT 'value1'
mais je ne sais absolument pas comment définir les valeurs autorisées.
Est-il possible de faire quelque chose comme
CONSTRAINT CHECK new_column IN ('valeur1', 'valeur2', 'valeur3)
? Je dois admettre le search condition
le diagramme me dérange beaucoup.
alter table ExampleTable
add (new_column varchar(20) default 'value1',
constraint ckExampleTable check (new_column in ('value1', 'value2', 'value3')));
Vous devez en fait le faire comme deux instructions différentes:
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'))
Serveur SQL:
ALTER TABLE table_name
ADD CONSTRAINT constraint_name CHECK (column_name IN ('aaa', 'bbb', ...))