Giả sử trong Database của bạn có một trường là Date thì bạn có thể ràng buộc giá trị của trường này như sau
SQL Code:
ALTER TABLE MyTable ADD CONSTRAINT chkDate CHECK YEAR(DATE) = YEAR(GetDate())
Làm sao để ràng buộc năm trong database mặc định là lấy năm hiện hành
Ai biết chỉ mình với
Giả sử trong Database của bạn có một trường là Date thì bạn có thể ràng buộc giá trị của trường này như sau
SQL Code:
ALTER TABLE MyTable ADD CONSTRAINT chkDate CHECK YEAR(DATE) = YEAR(GetDate())
Microsoft Student Partner
University of Information Technology - VNUHCM
Visit my blog: My power is my mind
Microsoft Student Partner
University of Information Technology - VNUHCM
Visit my blog: My power is my mind
ITH - Tôi yêu Lập Trình.
Bạn ơi sao câu ràng buộc dữ liễu của bạn tạo bảng thì không báo lỗi gì,nhưng khi Insert dữ liệu vào thì lỗi(The INSERT statement conflicted with the CHECK constraint "Check_HEDAOTAO_NAMTHI". The conflict occurred in database "QLSINHVIEN", table "dbo.HEDAOTAO", column 'NAMTHI'.
)
đây là bản Hệ đào tạo:
Create Table HEDAOTAO
(
MAHDT Char(10)not null Primary Key,TENHDT NVarchar(30)not null,NAMTHI int
--Ràng buộc
Constraint Check_HEDAOTAO_NAMTHI CHECK(YEAR(NAMTHI) = YEAR(GetDate()))
)
Không thể dùng phép so sánh tuyệt đối:
CHECK(YEAR(NAMTHI) = YEAR(GetDate()))
Sang năm sau, các dữ liệu này bỏ đi à?
Phải dùng phép tương đối:
CHECK(YEAR(NAMTHI) <= YEAR(GetDate()))