firebird: Update em uma tabela se existe uma conteúdo específico em campo de outra relacionada

O caso é o seguinte:
Temos uma tabela chamada PRODUTOS que possui um campo chamado IPI que está relacionado com o campo CODIGO da tabela chamada IPI. Precisamos então colocar os dados do campo SITT02 para um determinado número, mas, somente se o campo CLASSIFICAÇÃO da outra tabela iniciar em 3004, sendo que o campo possui 10 digitos.

Então façamos o seguinte:

UPDATE PRODUTOS SET SITT02 = '60'
WHERE EXISTS ( SELECT 1 FROM IPI WHERE PRODUTOS.IPI = IPI.CODIGO
AND ( SUBSTRING( IPI.CLASSIFICACAO FROM 1 FOR 4 ) = '3004' ) )


Comentários

Postagens mais visitadas