Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Di SQL Server 2005, bagaimana cara menetapkan kolom bilangan bulat untuk memastikan nilai lebih besar dari 0?

Anda dapat menggunakan batasan centang pada kolom. IIRC sintaks untuk ini terlihat seperti:

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

Seperti yang dikatakan poster di bawah ini (terima kasih Constantin), Anda harus membuat batasan centang di luar definisi tabel dan memberinya nama yang bermakna sehingga jelas kolom mana yang berlaku.

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

Anda bisa mendapatkan teks batasan pemeriksaan dari kamus data sistem di 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. Masukkan Minimal Masuk Ke

  2. Memahami Ukuran Penyimpanan 'datetimeoffset' di SQL Server

  3. Bagaimana cara mengekspor data dari SQL Server 2008.2010 dalam DML (skrip SQL)?

  4. Layanan Pelaporan SQL 2005 jika memeriksa nol

  5. Cara Mengubah Kolom dari Null menjadi Tidak Null di Tabel SQL Server - Tutorial SQL Server / T-SQL Part 52