Tình huống:
Bạn đang làm việc với tư cách là Nhà phát triển SQL Server / SQL Server DBA và bạn cần nhận danh sách các bảng từ cơ sở dữ liệu với thông tin nếu bảng có ràng buộc khóa chính hoặc không có ràng buộc khóa chính.Giải pháp:
Chúng tôi sẽ sử dụng dạng xem hệ thống trong cơ sở dữ liệu máy chủ SQL để nhận danh sách các bảng có hoặc không có Ràng buộc khóa chính.use YourDatabaseName go Select T.Table_Catalog as DatabaseName, T.Table_Schema AS TableSchema, T.Table_Name AS TableName, CCU.Column_Name AS ColumnName, TC.Constraint_Name AS ConstraintName, Case When TC.Constraint_Name is not Null Then 'Yes' Else 'No' End as HasPrimaryKeyConstraint From information_schema.tables T left join information_Schema.Table_Constraints TC on T.Table_Catalog=TC.Table_Catalog and T.Table_Schema=TC.Table_Schema and T.Table_Name=TC.Table_Name and TC.Constraint_Type='PRIMARY KEY' left JOIN Information_Schema.constraint_column_usage CCU on TC.Constraint_Name=CCU.Constraint_Name and TC.Table_Name=CCU.Table_Name and T.Table_Type='BASE TABLE'
Tôi thực thi mã trên trên một trong cơ sở dữ liệu của mình và danh sách các bảng có Ràng buộc khóa chính hoặc Không có Ràng buộc khóa chính.
Nhận danh sách các bảng từ Cơ sở dữ liệu SQL Server có hoặc không có Ràng buộc khóa chính - Hướng dẫn SQL Server / TSQL
Video Demo:Cách lấy tất cả các Bảng có hoặc không có Ràng buộc Khóa Chính trong Cơ sở dữ liệu Máy chủ Sql