[oracle_br] Duvidas com Update

2006-03-10 Por tôpico Adalberto de Sousa Monteiro
Boa tarde a todos,
Tenho 2 duvidas em relação a update, espero que alguém possa me dar uma luz.

1° - Como faço um update, fazendo verificação em um determinado campo de outra 
tabela ?
Por exemplo, preciso fazer um update na tabela de Pedido, mas preciso verificar 
um determinado campo na tabela do cliente, fazendo join pelo codigo do cliente 
existente em ambas tabelas.

2° - Como faço um update utilizando o resultado de um select porem da seguinte 
forma.
Tentei fazer +-, mas não estou conseguindo fazer rodar.
Preciso fazer o update abaixo, utilizando o resultado do select da tabela B

  update oconfatendimento
   set nr_itemoco = b.totitem
   where b.nr_atendimento  = oconf.nr_atendimento
  and b.nr_nf = oconf.nr_nf
  and b.cd_remetente= oconf.cd_remetente
( select oconf.nr_atendimento, 
oconf.nr_nf, 
oconf.cd_remetente, 
(count(*)) totitem
 from oconfatendimento oconf ,
(select ocoitem.nr_atendimento,
   ocoitem.nr_nf,
   ocoitem.cd_remetente,
   ocoitem.nr_item,
   ocoitem.cd_produto,
   (max(ocoitem.dt_ocorrencia)) 
dt_ocorrencia
from ocoitemnfatendimento ocoitem
  where ocoitem.nr_atendimento = 366
  group by ocoitem.nr_Atendimento, ocoitem.nr_nf, 
ocoitem.cd_remetente, ocoitem.nr_item, ocoitem.cd_produto
) a
  where oconf.nr_atendimento = 366  
 and a.nr_atendimento   = oconf.nr_atendimento
 and a.nr_nf  = oconf.nr_nf
 and a.cd_remetente = oconf.cd_remetente
) b


Obrigado e bom final de semana a todos
Adalberto

[As partes desta mensagem que não continham texto foram removidas]



--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--__

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine 
__
 
Links do Yahoo! Grupos

* Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

* Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]

* O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html

 





Re: [oracle_br] Duvidas com Update

2006-03-10 Por tôpico Luis Claudio Arruda Figueiredo
Tente criar um bloco PL/SQL ou uma procedure (melhor
uma proc).


1) Crie um cursor (select)para fechar a sua
necessidade de negócio.
2) faça o update com base no retorno do seu cursor.

abs,

Luis Figueiredo.


--- Adalberto de Sousa Monteiro
[EMAIL PROTECTED] escreveu:


-
Boa tarde a todos,
Tenho 2 duvidas em relação a update, espero que alguém
possa me dar uma luz.

1° - Como faço um update, fazendo verificação em um
determinado campo de outra tabela ?
Por exemplo, preciso fazer um update na tabela de
Pedido, mas preciso verificar um determinado campo na
tabela do cliente, fazendo join pelo codigo do cliente
existente em ambas tabelas.

2° - Como faço um update utilizando o resultado de um
select porem da seguinte forma.
Tentei fazer +-, mas não estou conseguindo fazer
rodar.
Preciso fazer o update abaixo, utilizando o resultado
do select da tabela B

  update oconfatendimento
   set nr_itemoco = b.totitem
   where b.nr_atendimento  = oconf.nr_atendimento
  and b.nr_nf = oconf.nr_nf
  and b.cd_remetente= oconf.cd_remetente
( select oconf.nr_atendimento, 
oconf.nr_nf, 
oconf.cd_remetente, 
(count(*)) totitem
 from oconfatendimento oconf ,
(select
ocoitem.nr_atendimento,
   ocoitem.nr_nf,
  
ocoitem.cd_remetente,
  
ocoitem.nr_item,
  
ocoitem.cd_produto,
  
(max(ocoitem.dt_ocorrencia)) dt_ocorrencia
from
ocoitemnfatendimento ocoitem
  where
ocoitem.nr_atendimento = 366
  group by
ocoitem.nr_Atendimento, ocoitem.nr_nf,
ocoitem.cd_remetente, ocoitem.nr_item,
ocoitem.cd_produto
) a
  where oconf.nr_atendimento = 366
 
 and a.nr_atendimento   =
oconf.nr_atendimento
 and a.nr_nf  =
oconf.nr_nf
 and a.cd_remetente =
oconf.cd_remetente
) b


Obrigado e bom final de semana a todos
Adalberto

[As partes desta mensagem que não continham texto
foram removidas]



--
Atenção! As mensagens deste grupo são de acesso
público e de inteira responsabilidade de seus
remetentes.
Acesse:
http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/

--__

Este Grupo recebe o apoio da SQL Magazine -
www.devmedia.com.br/sqlmagazine 
__


  
  Yahoo! Grupos, um serviço oferecido
por:PUBLICIDADE
var lrec_target=_blank;var lrec_URL=new
Array();lrec_URL[1]=http://br.ard.yahoo.com/SIG=12f5lil6d/M=396553.7942726.8944821.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1142016696/A=3361447/R=0/id=flashurl/SIG=1547hdsil/*http://lt.dell.com/lt/lt.aspx?CID=11613LID=319585DGC=BADGSeg=DHSDURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3dbsd;var
lrec_flashfile=http://br.i1.yimg.com/br.yimg.com/i/br/ads7/090306_y300x250_mar06_dhs_gx620dt.swf?clickTAG=javascript:LRECopenWindow(1);var
lrec_altURL=http://br.ard.yahoo.com/SIG=12f5lil6d/M=396553.7942726.8944821.2369893/D=brclubs/S=2137114689:HM/Y=BR/EXP=1142016696/A=3361447/R=1/id=altimg/SIG=1547hdsil/*http://lt.dell.com/lt/lt.aspx?CID=11613LID=319585DGC=BADGSeg=DHSDURL=http://www1.la.dell.com/content/products/category.aspx/desktops?c%3dbr%26l%3dpt%26s%3dbsd;var
lrec_altimg=http://br.i1.yimg.com/br.yimg.com/i/br/ads7/090306_y300x250_mar06_dhs_gx620dt.gif;var
lrec_width=300;var lrec_height=250;   
  
  
-
Links do Yahoo! Grupos

   Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
 
   Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
 
   O uso que você faz do Yahoo! Grupos está sujeito
aos Termos do Serviço do Yahoo!.





___ 
Novo Yahoo! Messenger com voz: Instale agora e faça ligações de graça. 
http://br.messenger.yahoo.com/


--
Atenção! As mensagens deste grupo são de acesso público e de inteira 
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/