ciao!

sto cercando di usare il comando MERGE, ma sembra mi vada sempre nel case MATCHED:
codice:
MERGE INTO GEN_ATTRIB_ESTESI GAE1 
USING (SELECT NPU, CODICE_ATTR FROM GEN_ATTRIB_ESTESI WHERE NPU = FN_B2B_TROVA_NPU_CONTO('XXL', '107820') AND CODICE_ATTR = TRIM('UBICAZ-CA')) GAE2 
ON(GAE1.NPU = GAE2.NPU AND GAE1.CODICE_ATTR = GAE2.CODICE_ATTR) 
WHEN MATCHED THEN UPDATE SET GAE1.VALORE = 'A008-A'
WHEN NOT MATCHED THEN INSERT(GAE1.DITAGENDA, GAE1.NPU, GAE1.CODICE_ATTR, GAE1.VALORE, GAE1.TSTP_INS, GAE1.TSTP_MOD, GAE1.PGM, GAE1.OPR) 
VALUES('XXL', FN_B2B_TROVA_NPU_CONTO('XXL', '107820'), 'UBICAZ-CA', 'A008-A', SYSDATE, SYSDATE, 'AttribEs', 'MAFER');

0 righe unito.

se però prendo la SELECT "secca" non mi escono record, quindi in teoria mi dovrebbe andare nel NOT MATCHED:
codice:
SELECT NPU, CODICE_ATTR FROM GEN_ATTRIB_ESTESI WHERE NPU = FN_B2B_TROVA_NPU_CONTO('XXL', '107820') AND CODICE_ATTR = TRIM('UBICAZ-CA');

avete qualche idea??