sql >> Base de Datos >  >> RDS >> Sqlserver

En SQL Server 2005, ¿cómo configuro una columna de números enteros para garantizar que los valores sean mayores que 0?

Puede usar una restricción de verificación en la columna. IIRC, la sintaxis para esto se ve así:

create table foo (
    [...]
   ,Foobar int not null check (Foobar > 0)
    [...]
)

Como dice el póster a continuación (gracias a Constantin), debe crear la restricción de verificación fuera de la definición de la tabla y darle un nombre significativo para que sea obvio a qué columna se aplica.

alter table foo
  add constraint Foobar_NonNegative
      check (Foobar > 0)

Puede obtener el texto de las restricciones de verificación del diccionario de datos del sistema en sys.check_constraints :

select name
      ,description
  from sys.check_constraints
 where name = 'Foobar_NonNegative'