Wednesday, October 24, 2012

Finding NULL data for Database

Finding NULL values for database

CREAT
TABLE
#SuspectColumns (
    TABLE_SCHEMA SYSNAME, TABLE_NAME SYSNAME, COLUMN_NAME SYSNAME
)
DECLARE
csrColumns CURSOR FAST_FORWARD FOR
SELECT TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME
  FROM INFORMATION_SCHEMA.COLUMNS
  WHERE IS_NULLABLE = 'YES'
DECLARE
@TABLE_SCHEMA SYSNAME,
@TABLE_NAME SYSNAME,
@COLUMN_NAME SYSNAME,
@sql NVARCHAR(MAX)

OPEN
csrColumns
WHILE
(1=1) BEGIN
FETCH NEXT
FROM csrColumns
INTO @TABLE_SCHEMA, @TABLE_NAME, @COLUMN_NAME

 
IF @@FETCH_STATUS<>0 BREAK

SET @sql = N'IF EXISTS(SELECT 1 FROM ' + QUOTENAME(@TABLE_SCHEMA) + N'.' + QUOTENAME(@TABLE_NAME) + N' WHERE ' + QUOTENAME(@COLUMN_NAME) + N'IS NULL)

                    
INSERT INTO #SuspectColumns VALUES ('''
+ @TABLE_SCHEMA + N''',''' + @TABLE_NAME + N''',''' + @COLUMN_NAME + N''')'

EXEC sp_executesql @sql

END
/* while */

CLOSE
csrColumns

DEALLOCATE
csrColumns
SELECT * FROM #SuspectColumns
DROP TABLE #SuspectColumns