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
DROP TABLE #SuspectColumns
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
csrColumns
DROP TABLE #SuspectColumns