Ir para conteúdo

POWERED BY:

Arquivado

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

nlopes

Update em duas tabelas SQL SERVER

Recommended Posts

Aee pessoal;

 

ve se podem me ajudar:

 

Tenho que fazer uma instrução UPDATE que faça a mudança em 2 tabelas e que vai depender do "WHERE" que também depende dessas duas tabelas.

 

Consegui no ACCESS com essa intrução seguinte:

 

UPDATE cliente_item INNER JOIN clientes ON cliente_item.codigo_cliente = clientes.codigo_cliente SET cliente_item.ativo = 0, cliente.dt_download ='"&dt_download&"' WHERE (((clientes.dt_download)<=getdate()) AND ((cliente_item.data_adicao) Is Not Null)) and (clientes.user_ID = '" & session("usario") & "')

 

Mas no SQL SERVER nao esta funcionando. Da erro no "INNER".

E até agora nao consegui resolver nem encontrar nada parecido que pudesse me ajudar

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta nessa ordem:

UPDATE cliente_item 
SET cliente_item.ativo = 0, cliente.dt_download = '"&dt_download&"' 
FROM cliente_item
INNER JOIN clientes ON cliente_item.codigo_cliente = clientes.codigo_cliente 
WHERE (((clientes.dt_download)<=getdate()) AND ((cliente_item.data_adicao) Is Not Null)) and (clientes.user_ID = '" & session("usario") & "')

Compartilhar este post


Link para o post
Compartilhar em outros sites

nlopes

 

O update tem a seguinte sintaxe:

 

update tabela
   set coluna = valor
where condição...

Então seu select ficaria assim:

 

update cliente_item
    set cliente_item.ativo = 0,
        cliente.dt_download ='"&dt_download&"'
from
   cliente_item
inner join
   clientes
      on (cliente_item.codigo_cliente = clientes.codigo_cliente)
where
   (((clientes.dt_download)<=getdate()) and
    ((cliente_item.data_adicao) is not null)) and
     (clientes.user_id = '" & session("usario") & "');

Veja se funciona.

 

[]'s

 

Fernando Silveira

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funfou galera!!

 

deu esse erro ai:

 

Msg 4104, Level 16, State 1, Line 1

The multi-part identifier "clientes.dt_download" could not be bound.

 

mais alguem??

Compartilhar este post


Link para o post
Compartilhar em outros sites

nlopes

 

Agora que eu reparei...você está tentando efetuar um update em duas tabelas na mesma instrução?? Cliente (dt_download) e Cliente_item (ativo)??

 

Posso estar errado, mas acredito que isso não é possível! você pode fazer update numa tabela fazendo join's com outras, mas atualizar duas colunas, uma de cada tabela na mesma instrução...

 

Veja mais detalhes no BOL sobre Update. http://msdn.microsoft.com/pt-br/library/ms177523.aspx

 

[]'s

 

Fernando Silveira

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.