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

Cách thêm Ràng buộc DEFAULT vào một cột hiện có trong SQL Server

Khi sử dụng SQL Server, đôi khi bạn cần sửa đổi một bảng hiện có. Theo mục đích của bài viết này, giả sử bạn muốn thêm DEFAULT ràng buộc đối với một cột hiện có.

Để thêm một DEFAULT ràng buộc vào cột hiện có, sử dụng ALTER TABLE và chỉ định cột và ràng buộc cụ thể mà bạn muốn áp dụng.

Ví dụ

Đây là ví dụ về cách thêm DEFAULT ràng buộc đối với một cột hiện có được gọi là TaskDescription :

USE Solutions;
ALTER TABLE Tasks  
    ADD CONSTRAINT taskdesc_default  
    DEFAULT 'TBA' FOR TaskDescription;  
GO

Trong trường hợp này, chúng tôi đã thay đổi thành Solutions cơ sở dữ liệu đầu tiên để đảm bảo rằng chúng tôi đã tạo ràng buộc đối với cơ sở dữ liệu chính xác.

Sau đó, chúng tôi đã tiếp tục và tạo một DEFAULT ràng buộc được gọi là taskdesc_default cho TaskDescription và đặt giá trị mặc định thành TBA . Điều này có nghĩa là, bất cứ khi nào một hàng mới được tạo, nếu không có giá trị nào được cung cấp cho TaskDescription , một giá trị mặc định của TBA sẽ được chèn.

Kiểm tra Ràng buộc

Bạn có thể kiểm tra xem ràng buộc đã được tạo chưa bằng cách chạy câu lệnh sau:

USE Solutions;
SELECT * 
FROM sys.default_constraints;

Điều này liệt kê tất cả các ràng buộc mặc định cho cơ sở dữ liệu Giải pháp. Một lần nữa, chúng tôi đã thay đổi cơ sở dữ liệu chính xác trước tiên.

Nếu cơ sở dữ liệu của bạn có nhiều ràng buộc, bạn luôn có thể thu hẹp nó xuống chỉ hạn chế mà bạn quan tâm:

USE Solutions;
SELECT * 
FROM sys.default_constraints
WHERE name = 'taskdesc_default';

  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ập nhật hàng loạt trong C #

  2. T-SQL Bỏ qua Thủ tục Đã Lưu trữ

  3. Cách thanh lịch nhất để tạo hoán vị trong máy chủ SQL

  4. Làm cách nào để tạo một hàm SQL Server để nối nhiều hàng từ một truy vấn con vào một trường được phân tách duy nhất?

  5. Truy vấn ODBC trên MS SQL Server chỉ trả về 255 ký tự đầu tiên trong PHP PDO (FreeTDS)