sql >> Databáze >  >> RDS >> Sqlserver

Jak v SQL Server 2005 nastavím sloupec celých čísel, aby byly hodnoty větší než 0?

Na sloupec můžete použít kontrolní omezení. IIRC syntaxe tohoto vypadá takto:

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

Jak říká plakát níže (díky Constantine), měli byste vytvořit kontrolní omezení mimo definici tabulky a dát jí smysluplný název, aby bylo zřejmé, na který sloupec se vztahuje.

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

Text kontrolních omezení můžete získat ze slovníku systémových dat v sys.check_constraints :

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


  1. IN vs OR Oracle, který rychlejší?

  2. Jak nastavit hodnotu na NULL při použití Zend_Db

  3. Migrace z Maxscale na ProxySQL Load Balancer

  4. MySQL konsolidující řádky tabulky s překrývajícími se rozsahy dat