Created
December 30, 2024 10:15
-
-
Save uricken1964/b3b31b33dadcbc3252ba2488d3c6961c to your computer and use it in GitHub Desktop.
The given T-SQL code defines a function dbo.get_statistics_columns_info that returns a table with information about statistics and their associated columns for a specified object in a database.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE OR ALTER FUNCTION dbo.get_statistics_columns_info | |
( | |
@object_name NVARCHAR(128), | |
@object_type NVARCHAR(10) | |
) | |
RETURNS TABLE | |
AS | |
RETURN | |
( | |
SELECT TOP 100 PERCENT | |
s.object_id, | |
s.stats_id, | |
s.name AS stats_name, | |
s.auto_created, | |
s.has_filter, | |
s.no_recompute, | |
c.column_list AS stat_columns | |
FROM sys.stats AS s | |
CROSS APPLY | |
( | |
SELECT STUFF | |
( | |
( | |
SELECT ',' + CAST(QUOTENAME(c.name) AS VARCHAR(max)) | |
FROM sys.stats_columns AS sc | |
INNER JOIN sys.columns AS c | |
ON | |
( | |
sc.object_id = c.object_id | |
AND sc.column_id = c.column_id | |
) | |
WHERE sc.object_id = s.object_id | |
AND sc.stats_id = s.stats_id | |
ORDER BY | |
sc.stats_column_id ASC | |
FOR XML PATH ('') | |
), 1, 1, '' | |
) | |
) AS c (column_list) | |
WHERE s.object_id = OBJECT_ID(@object_name, @object_type) | |
OR @object_name IS NULL | |
ORDER BY | |
s.object_id, | |
s.stats_id | |
); | |
GO |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment