· 7 years ago · Sep 21, 2018, 08:26 AM
1CREATE PROCEDURE UniqueVal AS
2BEGIN
3 DECLARE @ColumnName varchar(50)
4
5 IF NOT EXISTS (SELECT * FROM sysobjects WHERE name='UniqueCount' AND xtype='U')
6 CREATE TABLE UniqueCount (
7 Name NVARCHAR(64) NOT NULL,
8 UniqueAmount Int Not null
9 )
10TRUNCATE TABLE UniqueCount;
11DECLARE @Count int
12
13DECLARE MY_CURSOR CURSOR
14LOCAL STATIC READ_ONLY FORWARD_ONLY
15FOR
16SELECT COLUMN_NAME
17FROM footballlab.INFORMATION_SCHEMA.COLUMNS
18WHERE TABLE_NAME = 'Players'
19OPEN MY_CURSOR
20FETCH NEXT FROM MY_CURSOR INTO @ColumnName
21 WHILE @@FETCH_STATUS = 0
22 BEGIN
23 SELECT @Count = COUNT(DISTINCT @ColumnName)
24 From Players
25 INSERT INTO UniqueCount(Name,UniqueAmount)
26 VALUES(@ColumnName, @Count);
27 FETCH NEXT FROM MY_CURSOR INTO @ColumnName
28 END
29CLOSE MY_CURSOR
30DEALLOCATE MY_CURSOR
31END;