sql >> Databasteknik >  >> RDS >> Sqlserver

Hur ställer jag in en kolumn med heltal i SQL Server 2005 för att säkerställa att värden är större än 0?

Du kan använda en kontrollbegränsning på kolumnen. IIRC syntaxen för detta ser ut som:

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

Som affischen nedan säger (tack Constantin), bör du skapa kontrollbegränsningen utanför tabelldefinitionen och ge den ett meningsfullt namn så att det är uppenbart vilken kolumn den gäller.

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

Du kan få ut texten för kontrollbegränsningar från systemdataordlistan i sys.check_constraints :

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


  1. Ladda upp bild i MYSQL-databasen och visa den med PHP med Swift

  2. SQL Server 2008 Cross Tab Query

  3. Kan jag göra en atomic MERGE i Oracle?

  4. Att få en räkning av två olika uppsättningar rader i en tabell och sedan dela dem