duvida sentença no firebird
Amigos boa tarde!
estou precisando rodar um script em um banco de dados firebird , porém não tenho muito conhecimento.estou precisando colocar o valor da quantidade para 0 na tabela produtoempresa , porem a condição que preciso esta em outra tabela , por exemplo vou colocar o estoque = 0 ( tabela produtoempresa) onde o codigointerno ='241' (tabela produtoeservico ) e produtoempresaid seja igual produtoeservicoid .
esta é a sentença que coloquei , porem esta dando erro , a msg do erro esta logo abaixo, muito obrigado pela atenção e ajuda
update produtoempresa
set quantidade = '0'
from produtoeservico ps,
where ps.codigointerno = '241'
and produtoempresaid = ps.produtoeservicoid
mensagem de erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, column 1.
From.
estou precisando rodar um script em um banco de dados firebird , porém não tenho muito conhecimento.estou precisando colocar o valor da quantidade para 0 na tabela produtoempresa , porem a condição que preciso esta em outra tabela , por exemplo vou colocar o estoque = 0 ( tabela produtoempresa) onde o codigointerno ='241' (tabela produtoeservico ) e produtoempresaid seja igual produtoeservicoid .
esta é a sentença que coloquei , porem esta dando erro , a msg do erro esta logo abaixo, muito obrigado pela atenção e ajuda
update produtoempresa
set quantidade = '0'
from produtoeservico ps,
where ps.codigointerno = '241'
and produtoempresaid = ps.produtoeservicoid
mensagem de erro:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 3, column 1.
From.
Marcio
Curtidas 0
Melhor post
Hélio Devmedia
03/11/2016
O Firebird não aceita este tipo de comando. Você precisa fazer assim:
update
produtoempresa e
set
e.quantidade = '0'
where
(select ps.codigointerno from produtoeservico ps where e.produtoempresaid = ps.produtoeservicoid ) = '241' ;
Esta é a sintaxe que o firebird aceita para update.
Se o SQL não rodar, tente verificar os campos se estão com sufixos corretamente ('e' e 'ps')
Caso funcione, deixe seu comentário e dê um Joinha para sabermos que funcionou...
update
produtoempresa e
set
e.quantidade = '0'
where
(select ps.codigointerno from produtoeservico ps where e.produtoempresaid = ps.produtoeservicoid ) = '241' ;
Esta é a sintaxe que o firebird aceita para update.
Se o SQL não rodar, tente verificar os campos se estão com sufixos corretamente ('e' e 'ps')
Caso funcione, deixe seu comentário e dê um Joinha para sabermos que funcionou...
GOSTEI 2
Mais Respostas
Marcio
03/11/2016
Hélio
Deu certinho , resolveu meu problema .Muito Obrigado pela ajuda.
Vocês são feras mesmo .
Deu certinho , resolveu meu problema .Muito Obrigado pela ajuda.
Vocês são feras mesmo .
GOSTEI 0