Fórum Update entre duas tabelas sem sucesso. #455511
17/09/2013
0
Estou tentando fazer um Update entre duas tabelas do mesmo banco de dados (firebird).
Estou usando esse comando:
UPDATE PRODUTONOVO A SET A.descricao = (SELECT B.descricao FROM PRODUTO B WHERE B.codprod = A.codprod )
Porém eu executo a instrução sem erro e fica até um tempo executando mais quando vou nas minhas tabelas não aconteceu nada.
Esse comando eu executo pelo sistema e pelo IBEXPERT.
Alguém tem idéia?
Osiel Gomes
Curtir tópico
+ 0Posts
17/09/2013
Fabiano Carvalho
UPDATE A SET A.descricao = B.descricao FROM PRODUTONOVO as A INNER JOIN PRODUTO B ON B.codprod = A.codprod
Gostei + 0
17/09/2013
Osiel Gomes
UPDATE A SET A.descricao = B.descricao FROM PRODUTONOVO as A INNER JOIN PRODUTO B ON B.codprod = A.codprod
Dá erro no FROM.
Gostei + 0
17/09/2013
Rafael Brendolan
UPDATE A SET A.descricao = B.descricao FROM PRODUTONOVO A INNER JOIN PRODUTO B ON B.codprod = A.codprod
Gostei + 0
17/09/2013
Osiel Gomes
UPDATE A SET A.descricao = B.descricao FROM PRODUTONOVO A INNER JOIN PRODUTO B ON B.codprod = A.codprod
Não entendi o que mudou no comando mais de qualquer forma eu testei e o erro é o mesmo.
Valeu
Gostei + 0
17/09/2013
Fabiano Carvalho
Voce executa ele onde? Na aplicação ou direto no banco?
Gostei + 0
17/09/2013
Osiel Gomes
Voce executa ele onde? Na aplicação ou direto no banco?
Direto no banco, pelo IBEXPERT.
Gostei + 0
17/09/2013
Fabiano Carvalho
Execute o comando abaixo, e veja se retorna alguma linha
SELECT A.* FROM PRODUTONOVO as A LEFT JOIN PRODUTO B ON A.codprod = B.codprod WHERE B.codprod IS NULL
Gostei + 0
17/09/2013
Osiel Gomes
Execute o comando abaixo, e veja se retorna alguma linha
SELECT A.* FROM PRODUTONOVO as A LEFT JOIN PRODUTO B ON A.codprod = B.codprod WHERE B.codprod IS NULL
Sim retorno com informações...
As tabelas não tem um ligação uma com a outra pois só criei essa tabela PRODUTONOVO para retirar os dados dela, pois as informações da outra esta com problemas
Gostei + 0
17/09/2013
Fabiano Carvalho
Explique exatamente o que voce precisa...
Gostei + 0
17/09/2013
Osiel Gomes
Explique exatamente o que voce precisa...
Eu tenho uma tabela chamada PRODUTONOVO que esta com as informações correta na realidade só quero a descrição dessa tabela e jogar na tabela PRODUTO sendo que PRODUTO E PRODUTONOVO tem os mesmos campos e registros só que na tabela PRODUTONOVO o campo descrição esta do jeito que eu quero, então comparo os mesmo código entre as duas e só pego a descrição e jogo na outra através de update.
Não posso inserir por que as duas já estão com os registros.
Entendeu?
Gostei + 0
18/09/2013
Osiel Gomes
Gostei + 0
19/09/2013
Fabiano Carvalho
Naquela outra consulta retorno, porque existe registros na tabela produtonovo que não estão na tabela produto...
SELECT A.* FROM PRODUTONOVO as A INNER JOIN PRODUTO B ON A.codprod = B.codprod
Se essa consulta nao retornar nada, é porque tem algo errado, e os registros não se coincidem
Gostei + 0
19/09/2013
Deivison Melo
Dá uma olhada nos posts abaixo:
Primeira parte
[url]https://www.devmedia.com.br/uso-de-joins-em-instrucoes-update-e-delete-parte-01/9444[/url]
Segunda parte
[url]https://www.devmedia.com.br/uso-de-joins-em-instrucoes-update-e-delete-parte-02/9464[/url]
Abração e bons códigos!
Gostei + 0
19/09/2013
Osiel Gomes
Naquela outra consulta retorno, porque existe registros na tabela produtonovo que não estão na tabela produto...
SELECT A.* FROM PRODUTONOVO as A INNER JOIN PRODUTO B ON A.codprod = B.codprod
Se essa consulta nao retornar nada, é porque tem algo errado, e os registros não se coincidem
Retorna centenas de registros.
Gostei + 0
19/09/2013
Deivison Melo
SELECT A.*
FROM PRODUTONOVO as A
INNER JOIN PRODUTO B
ON A.codprod = B.codprod
Kd a restrição?
SELECT A.*
FROM PRODUTONOVO as A
INNER JOIN PRODUTO B
ON A.codprod = B.codprod
where A.codprod = codigo_qualquer // que seria o q vc quer atualizar realmente!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)