Script para comparar campos da tabela de origem com a de destino
/*SCRIPT PARA A NECESSIDADE DE IMPORTAR DADOS DE UMA TABELA DE ORIGEM PARA O DESTINO, SENDO QUE NEM SEMPRE A TABELA DEDESTINO POSSUIA AS MESMAS COLUNAS, ENTÃO EU TERIA QUE COMPARAR A TB DE ORIGEM COM A DESTINO.AUTOR: César Carvalho*/DECLARE @ORIGEM VARCHAR (300) DECLARE @DESTINO VARCHAR (300) DECLARE @CMD VARCHAR(MAX)SELECT @ORIGEM='Outubro_2013'-- TABELA DE ORIGEMSELECT @DESTINO='emprestimos'-- TABELA DE DESTINOSELECTCOLUNAS.NAME+','FROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@ORIGEMANDCOLUNAS.NAMEIN( SELECTCOLUNAS.NAMEFROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@DESTINO);--TB ORIGEM COM COLUNAS A SEREM IMPORTADASSELECTCOUNT(COLUNAS.NAME) TB_ORIGEM_COLUNASFROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@ORIGEM;--AND COLUNAS.NAME NOT LIKE 'SSMA_TimeStamp'; --FILTRO PARA RETIRAR ALGUM CAMPO-- TB DESTINO COM COLUNAS A SEREM IMPORTADASSELECTCOUNT(COLUNAS.NAME) TB_DESTINO_COLUNASFROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@ORIGEMANDCOLUNAS.NAMEIN( SELECTCOLUNAS.NAMEFROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@DESTINO);-- COLUNAS FALTANDO NA TABELA DE DESTINOSELECTCOLUNAS.NAME+',' COLUNAS_FALTANDO_TB_FINALFROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@ORIGEMANDCOLUNAS.NAMENOTIN( SELECTCOLUNAS.NAMEFROM SYSOBJECTS TABELASINNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID=COLUNAS.ID)WHERETABELAS.XTYPE='U'ANDTABELAS.NAME=@DESTINO);--AND COLUNAS.NAME NOT LIKE 'SSMA_TimeStamp' --FILTRO PARA RETIRAR ALGUM CAMPO