Tal y como dijo Crandel:
Código SQL
[-]
UPDATE subcomp
SET nombre_especifico=
nombre, flag =
flag
WHERE item = :OLD_item and
nombre_atributo = :OLD_nombre_atributo and
codigo_comp = :OLD_codigo_comp;
Yo he añadido el prefijo OLD_ , como son claves primarias no puede cambiar.
No dudo que pueda equivocarme

ya que en c/s estoy empezando
Un saludo