Anda dapat melihat kolom di sys.columns :
Mengembalikan baris untuk setiap kolom objek yang memiliki kolom, seperti tampilan atau tabel. Berikut ini adalah daftar jenis objek yang memiliki kolom:
- Fungsi perakitan bernilai tabel (FT)
- Fungsi SQL bernilai tabel sebaris (IF)
- Tabel internal (TI)
- Tabel sistem (S)
- Fungsi SQL bernilai tabel (TF)
- Tabel pengguna (U)
- Tampilan (V)
Untuk kolom yang dihitung dalam tabel, kueri ini dapat digunakan:
SELECT [Schema] = s.name
, [Table] = t.name
, number = COUNT(*)
FROM sys.columns c
INNER JOIN sys.tables t ON c.object_id = t.object_id
INNER JOIN sys.schemas s ON t.schema_id = s.schema_id
GROUP BY t.name, s.name
- sys.tables dapat digantikan oleh sys.views untuk dihitung dalam tampilan
sys.objects juga dapat digunakan dengan WHERE
klausa pada jenis yang diperlukan:
SELECT [Schema] = s.name
, [Table] = o.name
, number = COUNT(*)
, o.type_desc
FROM sys.columns c
INNER JOIN sys.objects o ON c.object_id = o.object_id
INNER JOIN sys.schemas s ON o.schema_id = s.schema_id
WHERE type IN (
'U' --> U = Table (user-defined)
, 'V' --> V = View
, ...)
GROUP BY o.name, s.name, o.type_desc;
Ini juga akan berfungsi meskipun lebih disukai (baca Kasus terhadap INFORMATION_SCHEMA tampilan dari Aaron Bertrand) untuk menggunakan kueri pertama:
SELECT TABLE_SCHEMA
, TABLE_NAME
, number = COUNT(*)
FROM INFORMATION_SCHEMA.COLUMNS
GROUP BY TABLE_SCHEMA, TABLE_NAME;
sumber