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 DE
DESTINO 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 ORIGEM

SELECT @DESTINO=’emprestimos’ — TABELA DE DESTINO

SELECT COLUNAS.NAME+’,’
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@ORIGEM
AND COLUNAS.NAME IN
( SELECT COLUNAS.NAME
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@DESTINO);

–TB ORIGEM COM COLUNAS A SEREM IMPORTADAS

SELECT COUNT(COLUNAS.NAME) TB_ORIGEM_COLUNAS
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@ORIGEM;

–AND COLUNAS.NAME NOT LIKE ‘SSMA_TimeStamp’; –FILTRO PARA RETIRAR ALGUM CAMPO
— TB DESTINO COM COLUNAS A SEREM IMPORTADAS

SELECT COUNT(COLUNAS.NAME) TB_DESTINO_COLUNAS
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@ORIGEM
AND COLUNAS.NAME IN
( SELECT COLUNAS.NAME
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@DESTINO);

— COLUNAS FALTANDO NA TABELA DE DESTINO

SELECT COLUNAS.NAME+’,’ COLUNAS_FALTANDO_TB_FINAL
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@ORIGEM
AND COLUNAS.NAME NOT IN
( SELECT COLUNAS.NAME
FROM SYSOBJECTS TABELAS
INNER JOIN SYSCOLUMNS COLUNAS ON (TABELAS.ID = COLUNAS.ID)
WHERE TABELAS.XTYPE = ‘U’
AND TABELAS.NAME=@DESTINO);

–AND COLUNAS.NAME NOT LIKE ‘SSMA_TimeStamp’ –FILTRO PARA RETIRAR ALGUM CAMPO

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s