USANDO SELECT MINUS NA PROCEDURE

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

PESSOAL, como eu faço para fazer uma consulta utilizando o MINUS em uma procedure?

é o seguinte:

schema: UAT
tabela: TAB1

schema STG
tabela TAB1


como eu comparo se os dados são iguais dessas duas tabelas? elas tem
estruturas iguais, só que estão em schemas diferentes. preciso fazer isso em uma procedure, pois são todas as tabelas dos dois schemas.
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Olá Cleberz,

Uma sugestão seria "concentrar" sua procedure em um dos schemas.

Digamos que você decida criar a procedure em UAT. Dicamos que TAB1 tem somente as colunas COL_A e COL_B.

Siga estes passos:

1) Conectar-se como STG e dar permissão de SELECT da tela para UAT

Selecionar tudo

GRANT SELECT ON TAB1 TO UAT;
2) Teste a querie do MINUS. Para isso, se conect em UAT e faça uma querie como descrita abaixo.

Selecionar tudo

   SELECT COL_A,
                 COL_B,
                 'REGISTROS QUE SO EXISTEM EM UAT' AS STATUS
       FROM (SELECT COL_A,COL_B FROM UAT.TAB1
                  MINUS
                  SELECT COL_A,COL_B FROM STG.TAB1)
       UNION ALL
     SELECT COL_A,
                 COL_B,
                 'REGISTROS QUE SO EXISTEM EM STG' AS STATUS
       FROM (SELECT COL_A,COL_B FROM STG.TAB1
                  MINUS
                  SELECT COL_A,COL_B FROM UAT.TAB1)
3) A querie acima lhe informará tudo que existe somente em UAT ou STG

Abraços,

Sergio Coutinho
cleberz
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 107
Registrado em: Ter, 15 Nov 2011 8:42 am

Valeu!! Obrigado!
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes