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

Làm cách nào để tìm một ràng buộc mặc định bằng INFORMATION_SCHEMA?

Theo tôi hiểu, các ràng buộc giá trị mặc định không phải là một phần của tiêu chuẩn ISO, vì vậy chúng không xuất hiện trong INFORMATION_SCHEMA. INFORMATION_SCHEMA có vẻ như là lựa chọn tốt nhất cho loại tác vụ này vì nó đa nền tảng, nhưng nếu thông tin không có sẵn, người ta nên sử dụng chế độ xem danh mục đối tượng (sys. *) Thay vì chế độ xem bảng hệ thống, không được dùng trong SQL Server 2005 trở về sau.

Dưới đây khá giống với câu trả lời của @ user186476. Nó trả về tên của ràng buộc giá trị mặc định cho một cột nhất định. (Đối với người dùng không phải SQL Server, bạn cần tên của mặc định để loại bỏ nó và nếu bạn không tự đặt tên cho ràng buộc mặc định, SQL Server sẽ tạo một số tên điên rồ như "DF_TableN_Colum_95AFE4B5". Để thay đổi dễ dàng hơn lược đồ của bạn trong tương lai, hãy luôn đặt tên rõ ràng cho các ràng buộc của bạn!)

-- returns name of a column's default value constraint 
SELECT
    default_constraints.name
FROM 
    sys.all_columns

        INNER JOIN
    sys.tables
        ON all_columns.object_id = tables.object_id

        INNER JOIN 
    sys.schemas
        ON tables.schema_id = schemas.schema_id

        INNER JOIN
    sys.default_constraints
        ON all_columns.default_object_id = default_constraints.object_id

WHERE 
        schemas.name = 'dbo'
    AND tables.name = 'tablename'
    AND all_columns.name = 'columnname'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao lại sử dụng mức cách ly READ UNCOMMITTED?

  2. Sao chép lập trình các chỉ mục từ bảng này sang bảng khác trong SQL Server

  3. Không thể cắt ngắn bảng vì nó đang được tham chiếu bởi ràng buộc NGOẠI KHÓA - Hướng dẫn sử dụng SQL Server / TSQL Phần 70

  4. Phát hiện khoảng thời gian bất thường bằng SQL

  5. Phân tích MS SQL Server cho những người lần đầu tiên nhìn thấy nó