Hasta cierto punto, si, el trigger quedaría así. Ahora, en el código tienes puestas dos variables no declaradas; si tratas de compilar este trigger te va a dar un error.
Código SQL
[-] set term!!;
create trigger trig1 for componente
after update as
begin
if New.Flag = 1 then
insert into productos (cod_prod, item_prod, nom_comp, precio_comp)
values (:cod_prod, :item_prod, New.nom_comp, New.precio_comp);
end!!;
set term;!!
También recuerda que un trigger no puede recibir parámetros, así que tendrías que buscar una forma de obtener los dos valores que deseas. Ya sea llamando a un
Store Procedure o realizando un
Select dentro del trigger.
Saludos...