🙂 İNSANLARIN EN HAYIRLISI INSANLARA FAYDALI OLANDIR 🙂

Ramazan HABER / MSSQL RMOS / tablonun columnları null ise varsayilan değer olarak sıfır atar sutunları

1-) MSSQL RMOS - tablonun columnları null ise varsayilan değer olarak sıfır atar sutunları

 

 

alter proc stpTemizlikBack

(

@COLUMN_NAME nvarchar(MAX),

@TABLE_NAME nvarchar(max)

)

as

begin

/*

exec stpTemizlikBack 'Param_Server','Pos_Param'

 

*/

 

SET NOCOUNT ON;

 

SELECT 'Update ' + @TABLE_NAME + ' Set ' + COLUMN_NAME + ' = ISNULL([' + COLUMN_NAME + '], ' +

 CASE

WHEN DATA_TYPE = 'bit' THEN '0'

WHEN DATA_TYPE = 'nvarchar' THEN ''

WHEN DATA_TYPE = 'varchar' THEN ''

WHEN DATA_TYPE = 'int' THEN '0'

WHEN DATA_TYPE = 'decimal' THEN '0'

WHEN DATA_TYPE = 'date' THEN '''1/1/1900'''

WHEN DATA_TYPE = 'datetime' THEN '''1/1/1900'''

WHEN DATA_TYPE = 'uniqueidentifier' THEN '00000000-0000-0000-0000-000000000000'

ELSE '''''' -- everything else get's an empty string

 END + ')' As Ramco

Into #Sonuc

FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TABLE_NAME

 

Declare @Cumle Nvarchar(MAX)

Declare Dongu Cursor For Select Ramco From #Sonuc

Open Dongu

Fetch Next From Dongu Into @Cumle

 

WHILE @@FETCH_STATUS = 0

BEGIN

Print (@Cumle)

 --Select @Cumle

EXEC (@Cumle)

Fetch Next From Dongu Into @Cumle

END

 

Close Dongu

DEALLOCATE Dongu

 

end

 

2-) SELECT

 

alter proc stpTemizlikBack(@COLUMN_NAME nvarchar(MAX),@TABLE_NAME nvarchar(max) ) as begin

--exec stpTemizlikBack 'Param_Server','Pos_Param'

 

 

SELECT 'ISNULL([' + COLUMN_NAME + '], ' +

  CASE

    WHEN DATA_TYPE = 'bit' THEN '0'

WHEN DATA_TYPE = 'nvarchar' THEN '0'

WHEN DATA_TYPE = 'varchar' THEN '0'

    WHEN DATA_TYPE = 'int' THEN '0'

    WHEN DATA_TYPE = 'decimal' THEN '0'

    WHEN DATA_TYPE = 'date' THEN '''1/1/1900'''

    WHEN DATA_TYPE = 'datetime' THEN '''1/1/1900'''

    WHEN DATA_TYPE = 'uniqueidentifier' THEN '00000000-0000-0000-0000-000000000000'

    ELSE '''''' -- everything else get's an empty string

  END + ') AS [' + COLUMN_NAME + '],' As Ramco

FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = @TABLE_NAME

 

end

 

 2021 Mart 12 Cuma
 459