Erro de update. Necessito atualizar mais de um registro.
Está dando varios erros relacionados e update. Basicamente tenho:
tab_cidades2 tabela1
identificador int
nomedacidade
estado varchar(2)
ctrl_cidade
validaCidade --tabela2
identificador (ctrl_cidade)
nome
cep
estado
...
preciso verificar se tabela.ctrl_cidade é null, tabela1.estado = tabela2.estado, tabela1.nomecidade = tabela2.nome
Após as verificações, preciso atribuir o identificador da tabela 2 (ctrl_cidade) a coluna ctrl_cidade da tabela1.
Mas sempre da erro.
SINTASES COM ERRO:
update tabelaDesatualizada
set tabelaDesatualizada.ctrl_cidade = tabelaAtualizada.ctrl_cidade
from orcsy514_server.tab_cidades2 as tabelaDesatualizada
inner join orcsy514_exemplo.cad_cidades as tabelaAtualizada
on tabelaDesatualizada.cid_estado = tabelaAtualizada.estado
where tabelaDesatualizada.cid_nome = tabelaAtualizada.cidade tabelaDesatualizada.ctrl_cidade is null or tabelaDesatualizada.ctrl_cidade = '';
erro: 0 17 09:15:44 update tabelaDesatualizada
set tabelaDesatualizada.ctrl_cidade = tabelaAtualizada.ctrl_cidade
from orcsy514_server.tab_cidades2 as tabelaDesatualizada
inner join orcsy514_exemplo.cad_cidades as tabelaAtualizada
on tabelaDesatualizada.cid_estado = tabelaAtualizada.estado
where tabelaDesatualizada.cid_nome = tabelaAtualizada.cidade tabelaDesatualizada.ctrl_cidade is null or tabelaDesatualizada.ctrl_cidade = '' Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from orcsy514_server.tab_cidades2 as tabelaDesatualizada
inner join orcsy514_e' at line 3 0.156 sec
----------------------------------------------------
update tab_cidades2
set ctrl_cidade = (select tabelaOk.ctrl_cidade from orcsy514_exemplo.cad_cidades as tabelaOk
inner join orcsy514_server.tab_cidades2 as tabelaErro
on tabelaErro.cid_estado = tabelaOk.estado and tabelaErro.cid_nome = tabelaOk.cidade)
where tab_cidades2.ctrl_cidade is null;
erro:
0 16 09:02:16 update tab_cidades2
set ctrl_cidade = (select tabelaOk.ctrl_cidade from orcsy514_exemplo.cad_cidades as tabelaOk
inner join orcsy514_server.tab_cidades2 as tabelaErro
on tabelaErro.cid_estado = tabelaOk.estado and tabelaErro.cid_nome = tabelaOk.cidade)
where tab_cidades2.ctrl_cidade is null Error Code: 1093. You can't specify target table 'tab_cidades2' for update in FROM clause 0.172 sec
-------------------------
update tab_cidades2
set ctrl_cidade = (select ctrl_cidade from orcsy514_exemplo.cad_cidades where estado = tab_cidades2.cid_estado and cidade = tab_cidades2.cid_nome)
where ctrl_cidade is null;
Erro:
0 19 09:16:29 update tab_cidades2
set ctrl_cidade = (select ctrl_cidade from orcsy514_exemplo.cad_cidades where estado = tab_cidades2.cid_estado and cidade = tab_cidades2.cid_nome)
where ctrl_cidade is null Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column
To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.156 sec
Alguém pode me ajudar?
Subject
Written By
Posted
Erro de update. Necessito atualizar mais de um registro.
October 09, 2018 06:17AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.