UPDATE - De comparação entre duas tabelas.

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
m4ybe_
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Seg, 12 Dez 2011 4:28 pm

Boa tarde Galera!

Bom, não conheço nada de PL/SQL, e com meus testes aqui não consegui progredir muito.

Preciso fazero seguinte, tenho uma cadastros de login de duas tabelas, e preciso fazer que elas estejam iguais.

Tabela1
Aldair

Tabela2
almir
aldair

Preciso criar uma rotina que leia as informações da Tabela2 e se existir o nome na tabela dois atribuir este nome exatamente como está na Tabela2 para a Tabela1.

Creio que o primeiro passo eu dar um UPPER no nome para comparar entre elas se existe o nome porque Aldair é diferente de aldair.
Se existir dar um update na Tabela1 com o valor da Tabela2.

Só preciso passar isso para PL/SQL =|

Alguém ai pode me ajudar?

Valeu!
Avatar do usuário
fsitja
Rank: OraSauro
Rank: OraSauro
Mensagens: 611
Registrado em: Seg, 19 Jan 2009 4:29 pm
Localização: Gaúcho no Rio de Janeiro - RJ
"The scars exist to remind us that the past was real"
Campanha: Como fazer uma pergunta e obter uma resposta.
http://tkyte.blogspot.com/2005/06/how-t ... tions.html

OCA & OCP Developer — OCE SQL Expert — OCS Data Warehousing Specialist

Dá para fazer num SQL apenas, sem PL/SQL:

Selecionar tudo

update tabela1 t1
   set t1.nome = (select t2.nome
                    from tabela1 t1
                    join tabela2 t2 on upper(t2.nome) = upper(t1.nome))
 where exists (select 1 from tabela2 t2 where upper(t2.nome) = upper(t1.nome));
m4ybe_
Rank: Estagiário Pleno
Rank: Estagiário Pleno
Mensagens: 6
Registrado em: Seg, 12 Dez 2011 4:28 pm

Muito Obrigrado fsitja!

Não tive tempo de testar mas entendi a lógica que você montou no select!

Agora eu me viro por aqui! Vou ver se consigo testar ainda está semana e posto resultados ou dúvidas que possa ajudar outros =)

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

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