Monday, August 30, 2010

ADD COLUMN NAME FROM ALL THE TABLE OF DATABASE IN SQL SERVER


-----------ADD COLUMN NAME FROM ALL THE TABLE OF DATABASE IN SQL SERVER
declare @Name varchar(1000)

declare @fir int
declare @sec int
declare @COLUMN_NAME varchar(1000)
declare @str varchar(8000)
declare @str1 varchar(8000)
    declare crAssign cursor For
        select name from sysobjects where xtype = 'u'
        Open crAssign
        Fetch Next From crAssign Into
        @Name
        If @@FETCH_STATUS =0
        Begin
            while @@FETCH_STATUS = 0
            Begin
                if(@Name <> 'sysdiagrams')
                begin
                    set @fir=0
                    set @sec=0
                        declare crcolumn cursor For
                        select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where TABLE_NAME = @Name
                        Open crcolumn
                        Fetch Next From crcolumn Into
                        @COLUMN_NAME
                        If @@FETCH_STATUS =0
                        Begin
                            while @@FETCH_STATUS = 0
                            Begin
                               
                                if(@COLUMN_NAME='CreatedByIP')
                                begin
                                    set @fir=1
                                end   
                                if(@COLUMN_NAME='UpdatedByIP')
                                begin
                                    set @sec=1
                                end   
                           
                            Fetch Next From crcolumn Into @COLUMN_NAME
                            End
                        End
                        close crcolumn
                        deallocate crcolumn
                        if(@fir=0)
                        begin
                                set @str='alter table '+ @Name +' add  CreatedByIP    varchar(20)    NULL';
                                exec(@str)
                        end
                        if(@sec=0)
                        begin
                                set @str1='alter table '+ @Name +' add  UpdatedByIP    varchar(20)    NULL';
                                exec(@str1)
                        end
                end   
            Fetch Next From crAssign Into @Name
            End
        End
        close crAssign
        deallocate crAssign





No comments:

Post a Comment