sql >> Database >  >> RDS >> Sqlserver

Hoe stel ik in SQL Server 2005 een kolom met gehele getallen in om ervoor te zorgen dat de waarden groter zijn dan 0?

U kunt een controlebeperking voor de kolom gebruiken. IIRC de syntaxis hiervoor ziet er als volgt uit:

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

Zoals de poster hieronder zegt (bedankt Constantin), moet je de controlebeperking buiten de tabeldefinitie maken en deze een betekenisvolle naam geven, zodat het duidelijk is op welke kolom deze van toepassing is.

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

U kunt de tekst van controlebeperkingen uit het systeemdatawoordenboek halen in sys.check_constraints :

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


  1. MySQL selecteer SUM van resultaten met een LIMIT

  2. Een overzicht van de Percona XtraDB Cluster Kubernetes-operator

  3. MySQL-query om unieke domeinen te tellen uit het veld e-mailadres

  4. 3 manieren om de taakstappen van een SQL Server Agent-taak (T-SQL) te krijgen