È possibile utilizzare un vincolo di controllo sulla colonna. IIRC la sintassi per questo è simile a:
create table foo (
[...]
,Foobar int not null check (Foobar > 0)
[...]
)
Come dice il poster qui sotto (grazie Constantin), dovresti creare il vincolo check al di fuori della definizione della tabella e assegnargli un nome significativo in modo che sia ovvio a quale colonna si applica.
alter table foo
add constraint Foobar_NonNegative
check (Foobar > 0)
Puoi estrarre il testo dei vincoli di controllo dal dizionario dei dati di sistema in sys.check_constraints
:
select name
,description
from sys.check_constraints
where name = 'Foobar_NonNegative'