Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

В SQL Server 2005, как да задам колона с цели числа, за да гарантирам, че стойностите са по-големи от 0?

Можете да използвате ограничение за проверка на колоната. IIRC синтаксисът за това изглежда така:

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

Както се казва на плаката по-долу (благодаря на Константин), трябва да създадете ограничението за проверка извън дефиницията на таблицата и да му дадете смислено име, така че да е очевидно към коя колона се прилага.

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

Можете да извадите текста на ограниченията за проверка от речника на системните данни в sys.check_constraints :

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Мониторинг на изпълняваните заявки на SQL Server

  2. Безплатни методи за поправяне на повреда в индекса на SQL Server

  3. Как да използвате DataContext.ExecuteCommand и да получите върнатата стойност на изпълнената съхранена процедура?

  4. Предаване на множество стойности за един SQL параметър

  5. Как да премахнете водещото празно пространство в SQL Server – LTRIM()