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]
>


Responder a