Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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
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??
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](http://msdn.microsoft.com/pt-br/library/ms177523.aspx)
[]'s
Fernando Silveira
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") & "')