Saturday, 29 December 2018

All Tables Parameters With Isnull Sql Server

BEGIN

DECLARE @TABLENAME VARCHAR(50)='TABLENAME'
DECLARE @COLUMN_LIST VARCHAR(MAX)=''
BEGIN
DECLARE @COLUMN_NAME VARCHAR(MAX)=''
DECLARE @COLUMN_DATA_TYPE VARCHAR(MAX)=''
DECLARE @GENERATED_SCRIPT VARCHAR(MAX)='SELECT ' + char(10)
IF @TABLENAME !=''
BEGIN
    DECLARE CUR CURSOR 
FOR 
SELECT COLUMN_NAME,DATA_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TABLENAME
ORDER BY ORDINAL_POSITION
OPEN CUR
FETCH NEXT FROM CUR INTO @COLUMN_NAME,@COLUMN_DATA_TYPE
WHILE @@FETCH_STATUS = 0
BEGIN
IF (@COLUMN_DATA_TYPE ='int')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ',0) AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='varchar')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ','''') AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='tinyint')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ','''') AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='datetime')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ','''') AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='date')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ','''') AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='time')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ','''') AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='decimal')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ',0) AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END
IF (@COLUMN_DATA_TYPE ='bigint')
BEGIN
    SET @GENERATED_SCRIPT = @GENERATED_SCRIPT + 'ISNULL(' + @COLUMN_NAME + ',0) AS ['+ REPLACE(@COLUMN_NAME,'_',' ') + '],' + CHAR(10) 
END

FETCH NEXT FROM CUR INTO @COLUMN_NAME,@COLUMN_DATA_TYPE
END
CLOSE CUR
DEALLOCATE CUR
DECLARE @NEWREMOVESTRING VARCHAR(MAX) =''
SET @NEWREMOVESTRING =  SUBSTRING(@GENERATED_SCRIPT, 1, LEN(@GENERATED_SCRIPT) - 2) + ' '  
SET @GENERATED_SCRIPT = @NEWREMOVESTRING + CHAR(10) + 'FROM dbo.' + @TABLENAME + ' WITH(NOLOCK)'
SELECT @GENERATED_SCRIPT
END
--PRINT @GENERATED_SCRIPT
END
END

No comments:

Post a Comment