Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kelin

Update em vários Registros (Anyware - ASA)

Recommended Posts

Estou com uma dúvida bem básica:

preciso executar um comando sql de Update em vários registros uma tabela buscando os dados de outra tabela, em que a tabela onde vou alterar possui 1 registro e a tabela de onde vou buscar pode ter 1 ou mais registros relacionados a primeira tabela, como se fosse o cabeçalho e os produtos de uma nota fiscal. O comando que executo é o seguinte:

 

update
  tabela1 set
  dtmovimento = (select top 1
                    dtmovimento
                 from
                    tabela2
                 where exists(
                    select
                       1
                    from
                       tabela1,
                       tabela2
                    where
                       tabela2.idempresa = tabela2.idempresa and
                       tabela2.idplanilha = tabela1.idplanilha
                    )
                 )

 

O problema é que todos os registros da coluna dtmovimento do notas foram alterados com apenas uma informação, por causa do top 1, mas se eu não utilizo o top 1 ocorre erro pois o select retorna mais de uma linha.

Alguém pode me ajudar, por favor?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Informe o BD pois este tipo de update com join pode mudar conforme o ambiente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Creio ser esta a sintaxe, mas estou certo pois é uma síntaxe que não uso pois o Oracle (que + trabalho) não aceita.

 

UPDATE tabela1 
  SET dtmovimento = tabela2.dtmovimento 
   from tabela1, tabela2
    where tabela2.idempresa = tabela2.idempresa and
          tabela2.idplanilha = tabela1.idplanilha

 

 

Fonte

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.