Tình huống:
Bạn đang làm việc với tư cách là nhà phát triển SQL Server, bạn được yêu cầu cung cấp một truy vấn sẽ trả về tất cả Ràng buộc duy nhất với Cột, Bảng và Tên lược đồ.Giải pháp:
Chúng ta có thể sử dụng các đối tượng hệ thống để có được danh sách các ràng buộc duy nhất với các cột, bảng và tên lược đồ. Truy vấn dưới đây sẽ trả về cho bạn tất cả các ràng buộc duy nhất với các cột từ cơ sở dữ liệu SQL Server.;WITH CTE_UQ
AS (
SELECT t.Table_Schema AS TableSchema
,t.table_name AS TableName
,c.column_name AS ColumnName
,t.constraint_name AS UniqueConstraintName
,t.constraint_type AS ConstraintType
FROM information_schema.table_constraints t
LEFT JOIN information_schema.key_column_usage c
ON t.constraint_catalog = c.constraint_catalog
AND t.constraint_schema = c.constraint_schema
AND t.constraint_name = c.constraint_name
WHERE t.constraint_type = 'UNIQUE'
)
SELECT TableSchema
,TableName
,UniqueConstraintName
,ConstraintType
,stuff((
SELECT ',' + ColumnName
FROM CTE_UQ i
WHERE i.TableSchema = o.TableSchema
AND i.TableName = o.TableName
AND i.UniqueConstraintName = o.UniqueConstraintName
FOR XML path('')
), 1, 1, '') UniqueColumnList
FROM CTE_UQ o
GROUP BY TableSchema
,TableName
,UniqueConstraintName
,ConstraintType Tôi đã thực hiện truy vấn trên trên cơ sở dữ liệu và nhận được kết quả bên dưới.
|
| Cách lấy Danh sách cột có Ràng buộc Duy nhất trong Cơ sở dữ liệu SQL Server |
Video Demo:Cách lấy tất cả Ràng buộc duy nhất trong Cơ sở dữ liệu SQL Server với Tên cột