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