Situatie
Mai jos este o procedura ce listeaza tabelele mari (dpdv al nr. de coloane) de pe o baza de date a unui server MSSQL. Numarul de coloane este parametru al procedurii.
Solutie
— exec ListareTabeleCuMulteColoane 30
CREATE PROCEDURE ListareTabeleCuMulteColoane
@NrColoane int
as
DECLARE @threshold INT
WITH cte AS
(
SELECT [object_id], COUNT(*) AS CC
FROM sys.columns
GROUP BY [object_id]
HAVING COUNT(*) > @NrColoane
)
SELECT
s.[name] + N’.’ + t.[name] [Table],
c.CC
FROM cte c
JOIN sys.tables t ON c.[object_id] = t.[object_id]
JOIN sys.schemas s ON t.[schema_id] = s.[schema_id]
ORDER BY c.CC DESC;
Leave A Comment?