Skenario:
Anda bekerja sebagai pengembang SQL Server, Anda diminta untuk memberikan kueri yang harus mengembalikan semua Batasan Unik dengan Nama Kolom, Tabel, dan Skema.Solusi:
Kita dapat menggunakan objek sistem untuk mendapatkan daftar batasan unik dengan kolom, tabel, dan nama skema. Kueri di bawah ini akan mengembalikan Anda semua batasan unik dengan kolom dari database 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 Saya mengeksekusi query di atas pada database dan mendapatkan hasil di bawah ini.
![]() |
| Cara mendapatkan Daftar Kolom dengan Batasan Unik di Database SQL Server |
Video Demo :Cara mendapatkan semua Constraint unik di Database SQL Server dengan Nama Kolom
