Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Trong SQL Server 2005, làm cách nào để đặt một cột số nguyên để đảm bảo các giá trị lớn hơn 0?

Bạn có thể sử dụng một ràng buộc kiểm tra trên cột. IIRC cú pháp cho điều này trông giống như:

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

Như người đăng bên dưới nói (cảm ơn Constantin), bạn nên tạo ràng buộc kiểm tra bên ngoài định nghĩa bảng và đặt cho nó một cái tên có ý nghĩa để rõ ràng nó áp dụng cho cột nào.

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

Bạn có thể lấy ra văn bản ràng buộc kiểm tra từ từ điển dữ liệu hệ thống trong 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. Cách thay đổi nhiều cột cùng một lúc trong SQL Server

  2. Khôi phục cơ sở dữ liệu từ chế độ khẩn cấp trong SQL Server

  3. Cải thiện truy vấn Sql với hàm select max () trong mệnh đề where

  4. cài đặt đăng ký để kích hoạt TCP trên SQL Server 2005 và 2008 là gì?

  5. thêm + - 1 năm trong SQL Server