>in sql server 2008 l'unico tipo di dato che ammette valori non
>negativi è TinyInt??
Ciao Riccardo,
Tra i data type numerici, si.
>Ma è troppo poco, questo tipo di dati ammette valori da 0 a 255!
Esatto.
>Datemi una mano, devo impedite che un campo di tipo Int ammetta
>valori negativi.
E' sufficiente definire un ckeck constraint sulla colonna.
USE tempdb;
CREATE TABLE dbo.foo(
C int NOT NULL,
CONSTRAINT CHK_C CHECK (C >= 0)
);
INSERT dbo.foo VALUES (0), (1), (2);
/* Output:
(3 row(s) affected)
*/
INSERT dbo.foo VALUES (-1);
/* Output:
Msg 547, Level 16, State 0, Line 1
The INSERT statement conflicted with the CHECK constraint "CHK_C".
The conflict occurred in database "tempdb", table "dbo.foo", column 'C'.
The statement has been terminated.
*/
DROP TABLE dbo.foo;
>Ho visto che altri database hanno l'attributo Unsigned, ma sql
>server no!
>E' mai possibile??
Si.
>Ciao e grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org