SQL Server: Ràng Buộc DEFAULT | V1Study

Ràng buộc mặc định (DEFAULT) được dùng để gán giá trị mặc định cho cột nếu giá trị của cột đó không được đưa vào khi chèn bản ghi vào bảng.

Mỗi bảng có thể có nhiều ràng buộc DEFAULT.

Mỗi cột của bảng chỉ có một ràng buộc DEFAULT.

Lưu ý: DEFAULT không thể được tạo trên cột đã được định nghĩa với:

  • Kiểu dữ liệu timestamp
  • Thuộc tính IDENTITY hoặc ROWGUIDCOL
  • Đã tồn tại ràng buộc DEFAULT hoặc đối tượng DEFAULT.

Dưới đây là một số cách áp dụng ràng buộc DEFAULT:

Cách 1: ​Ví dụ (ví dụ này áp dụng cho hầu hết các RDBMS như MySQL, SQL Server, Oracle, MS Access):

CREATE TABLE Student(

studentid int NOT NULL,

studentname nvarchar(30) NOT NULL,

dateofbirth date NOT NULL DEFAULT('1997-01-10')

);

INSERT Student(studentid, studentame) VALUES(1,N'Nguyễn Văn A')

Ở ví dụ trên cột dateofbirth không được chèn giá trị khi chèn bản ghi vào bảng Student, nên trong trường hợp này cột sẽ được đặt giá trị mặc định là '1997-01-01'.

Cách 2: Sử dụng câu lệnh ALTER TABLE như sau:

+ Áp dụng cho MySQL, ví dụ:

ALTER TABLE Student ALTER Price SET DEFAULT('1997-01-01');

+ Áp dụng cho MS Access, ví dụ:

ALTER TABLE Student ALTER COLUMN Price SET DEFAULT('1997-01-01');

+ Áp dụng cho SQL Server, sử dụng cú pháp như sau:

ALTER TABLE Tên_bảng ADD CONSTRAINT Tên_ràng_buộc DEFAULT(Giá_trị) FOR Tên_cột;

Ví dụ:

ALTER TABLE Student ADD CONSTRAINT df_student_dob DEFAULT('1997-01-01') FOR dateofbirth

Tham khảo các ràng buộc khác:

  • Ràng buộc CHECK
  • Ràng buộc UNIQUE
  • Ràng buộc PRIMARY KEY
  • Ràng buộc FOREIGN KEY

Từ khóa » Câu Lệnh Default Trong Sql