Gracias morway por tu consejo, de hecho hice esto con anterioridad y me funciono perfectamente:
Código SQL:
Ver originalMERGE INTO POLIZASPRUEBA pp
USING (
SELECT 1 IDPOLIZA
,DATE '04-01-12' FECHA
,1 TIPOPOLIZA
,100 CLASE
,00 IDDIARIO
,'abcdefg' CONCEPTO
,1 SISTEMAORIGEN
,2 IMPRESA
,7 IDUSUARIO
,'11/12/2012' FECHAALTA
,1 BALANCEADA
,00000032 FOLIO
FROM dual
) p
ON (pp.TIPOPOLIZA = p.TIPOPOLIZA AND pp.FOLIO =p.FOLIO AND to_char((pp.FECHA),'yyyy') = to_char((p.FECHA),'yyyy'))
WHEN NOT MATCHED THEN
INSERT VALUES (p.IDPOLIZA,p.FECHA,p.TIPOPOLIZA,p.CLASE,p.IDDIARIO,p.CONCEPTO,p.SISTEMAORIGEN,
p.IMPRESA,p.IDUSUARIO,p.FECHAALTA,p.BALANCEADA,p.FOLIO)
WHEN MATCHED THEN
UPDATE SET pp.CLASE = p.CLASE,pp.IDDIARIO = p.IDDIARIO,pp.CONCEPTO = p.CONCEPTO,
pp.SISTEMAORIGEN = p.SISTEMAORIGEN,pp.IMPRESA = p.IMPRESA,pp.IDUSUARIO = p.IDUSUARIO,
pp.FECHAALTA = p.FECHAALTA,pp.BALANCEADA = p.BALANCEADA;
lo malo esque el merge into no funciona en los triggers, y mis superiores quieren que esto se haga cuando se ejecuta el insert, sabes como puedo meterlo a parte del before insert, mucho te lo agradecería, digo la funcion se hacerla igual que el procedimiento, pero a que horas los llamo?
gracias