>Ciao a tutti,
>ho un problema con i tipi di dati in t-sql; sotto mysql posso
>usare il tipo dato set o enum per fare in modo di scegliere un
>valore appartenente solo ad un insieme prestabilito di dati.
>Tale tipo di dato non esiste nel linguaggio t-sql! O molto probabilmente
>io lo ignoro ;)
>In pratica vorrei che in un campo di una tabella si possa scegliere
>solo 'S' per Si o 'N' per no. In mysql è:
Ciao,
non sono la persona adatta a dare questo tipo di risposte ma ci provo.
Devi usare dei check constraint a livello di colonna, per esempio se creo una tabella in questo modo:
CREATE TABLE test
(id INT NOT NULL,
name VARCHAR(10) NOT NULL,
telefono varchar(1) NOT NULL
CONSTRAINT telefono_check CHECK (telefono='S' OR telefono='N')
)
consento di inserire nella colonna telefono sono valori S o valori N e non gli altri.
Infatti se provi a lanciare queste due query di inserimento:
Questa fallisce perchè passi la lettera G non consentita:
insert into test(id,name,telefono) values(1,'Mario','G')
Mentre queste vengono eseguite:
insert into test(id,name,telefono) values(1,'Pippo','S')
insert into test(id,name,telefono) values(1,'Pluto','N')
Perchè passi dei valori contenuti nel dominio valori specificato.
CIao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/