sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan indstiller jeg en kolonne med heltal i SQL Server 2005 for at sikre, at værdier er større end 0?

Du kan bruge en kontrolbegrænsning på kolonnen. IIRC syntaksen for dette ser sådan ud:

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

Som plakaten nedenfor siger (tak Constantin), bør du oprette check-begrænsningen uden for tabeldefinitionen og give den et meningsfuldt navn, så det er tydeligt, hvilken kolonne den gælder for.

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

Du kan hente teksten til kontrolbegrænsninger fra systemdataordbogen i sys.check_constraints :

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


  1. Hvordan konverterer jeg et bredde/længde-par til en PostGIS-geografitype?

  2. SQL dårlig ydelse af plan for udførelse af lagrede procedurer - parametersniffing

  3. Deadlock undtagelseskode for PHP, MySQL PDOException?

  4. mySQL-undtagelse:Kan ikke oprette forbindelse til nogen af ​​de angivne MySQL-værter. gennem C#