Alô Carlos e Paulo, Bem, eu já fiz com join entre duas tabelas assim:
-------------------------## --mostra as linhas que serão alteradas TESTED@nmbak> SELECT a.machine, a.terminal, b.maquina, a.DATA_MOVTO, a.PROGRAMA, a.OSUSER FROM LOGON_NEGADO A, LOGON_CONEXAO_VTRINE b WHERE A.sid = b.sid AND a.serial = b.serial; MACHINE TERMINAL MAQUINA DATA_MOVT PROGRAMA OSUSER -------------------- -------------------- -------------------- --------- ------------------------------ ------------------------------ LINUX.SITE 1 PORTAL10G-7 06-SEP-09 1 1 LOJA12\PDV01202 PDV01202 PORTAL10G-9 05-JUL-10 AUTOMATIC_UPDATE.EXE.EXE ADMINISTRADOR JDBCCLIENT 1 PORTAL10G-9 06-SEP-09 1 1 VOIP0515 1 PORTAL10G-7 06-SEP-09 1 1 LINUX.SITE 1 PORTAL10G-13 06-SEP-09 1 1 VOIP0515 1 PORTAL10G-15 06-SEP-09 1 1 JDBCCLIENT 1 PORTAL10G-13 06-SEP-09 1 1 JDBCCLIENT 1 PORTAL10G-11 06-SEP-09 1 1 LINUX.SITE 1 PORTAL10G-14 06-SEP-09 1 1 JDBCCLIENT 1 VPN01 06-SEP-09 1 1 JDBCCLIENT 1 PORTAL10G-15 06-SEP-09 1 1 JDBCCLIENT 1 PORTAL10G-12 06-SEP-09 1 1 JDBCCLIENT 1 PORTAL10G-12 06-SEP-09 1 1 13 rows selected. --altera conforme o select acima TESTED@nmbak> UPDATE LOGON_NEGADO a SET machine = (select maquina from LOGON_CONEXAO_VTRINE b WHERE b.sid = a.sid AND b.serial = a.serial), terminal = (select maquina from LOGON_CONEXAO_VTRINE b WHERE b.sid = a.sid AND b.serial = a.serial)where sid is not null; 13 rows updated. --mostra as linhas após a alteração TESTED@nmbak> SELECT a.machine, a.terminal, b.maquina, a.DATA_MOVTO, a.PROGRAMA, a.OSUSER FROM LOGON_NEGADO A, LOGON_CONEXAO_VTRINE b WHERE A.sid = b.sid AND a.serial = b.serial; MACHINE TERMINAL MAQUINA DATA_MOVT PROGRAMA OSUSER -------------------- -------------------- -------------------- --------- ------------------------------ ------------------------------ PORTAL10G-7 PORTAL10G-7 PORTAL10G-7 06-SEP-09 1 1 PORTAL10G-9 PORTAL10G-9 PORTAL10G-9 05-JUL-10 AUTOMATIC_UPDATE.EXE.EXE ADMINISTRADOR PORTAL10G-9 PORTAL10G-9 PORTAL10G-9 06-SEP-09 1 1 PORTAL10G-7 PORTAL10G-7 PORTAL10G-7 06-SEP-09 1 1 PORTAL10G-13 PORTAL10G-13 PORTAL10G-13 06-SEP-09 1 1 PORTAL10G-15 PORTAL10G-15 PORTAL10G-15 06-SEP-09 1 1 PORTAL10G-13 PORTAL10G-13 PORTAL10G-13 06-SEP-09 1 1 PORTAL10G-11 PORTAL10G-11 PORTAL10G-11 06-SEP-09 1 1 PORTAL10G-14 PORTAL10G-14 PORTAL10G-14 06-SEP-09 1 1 VPN01 VPN01 VPN01 06-SEP-09 1 1 PORTAL10G-15 PORTAL10G-15 PORTAL10G-15 06-SEP-09 1 1 PORTAL10G-12 PORTAL10G-12 PORTAL10G-12 06-SEP-09 1 1 PORTAL10G-12 PORTAL10G-12 PORTAL10G-12 06-SEP-09 1 1 13 rows selected. Ederson Elias DBA Oracle http://br.linkedin.com/pub/ederson-elias/24/8b/8b0 --- Em oracle_br@yahoogrupos.com.br, Paulo Couto <paulopcto2002@...> escreveu > > Carlos, não tenho certeza, por isso preciso de ajuda, você tem alguma > sugestão para atualizar os campos de uma tabela com base num select de outra > tabela ? > > Att, > > Paulo. > > > ________________________________ > De: Carlos Silva <carlos-csilva@...> > Para: oracle_br@yahoogrupos.com.br > Enviadas: Segunda-feira, 24 de Setembro de 2012 13:15 > Assunto: RE: [oracle_br] help UPDATE > > > Cara, tem certeza que é possível fazer um update com JOIN? Utilizando essa > logica? Faz um bloco animo com curso.To: oracle_br@yahoogrupos.com.br > From: paulopcto2002@... > Date: Mon, 24 Sep 2012 07:28:06 -0700 > Subject: [oracle_br] help UPDATE > > > > > > > > > > > > > > > > > > > > > > > > > > > Amigos, estou tentando fazer um update usando a clausula JOIN mas > apresenta o seguinte erro: > > > > ORA-00933 SQL command not properly ended > > > > Faz muito tempo que não faço update no oracle, não sei se a sintaxe está > correta. > > UPDATEGEO_LAYER_TALHAO A > > SET A.ESTADO=B.ESTADO,A.NOME_FAZ=B.FAZPROP,A.PERC_TRAB=100 > > FROM GEO_LAYER_TALHAO A INNER JOIN TBL_AUX_USA B > > ON B.CODFAZENDA=A.FAZENDA AND B.ZONA=A.ZONA > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > > > > > > > > > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > ------------------------------------ > > -------------------------------------------------------------------------------------------------------------------------- > >Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira > >responsabilidade de seus remetentes. > Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ > -------------------------------------------------------------------------------------------------------------------------- > >Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » > >Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: > >http://www.oraclebr.com.br/ > ------------------------------------------------------------------------------------------------------------------------ > Links do Yahoo! Grupos > > [As partes desta mensagem que não continham texto foram removidas] >