ciao!

in sostanza hp questa query funzionante:
codice:
UPDATE 
MOV_MAG_DETT MOV 
SET 
MOV.PREZZO = FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.PRZDIVISA = FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.IMPORTO = MOV.QUANTI * FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.IMPDIVISA = MOV.QUANTI * FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.SCONTO1 = ?,
MOV.TSTP_MOD = SYSDATE,
MOV.OPR = 'SQL' 
WHERE 
MOV.DITTA = 'XXL' 
AND MOV.FVL = ' ' 
AND MOV.NUMERAT = ? 
AND MOV.PERIODO = ? 
AND MOV.NUM = ? 
AND MOV.SERIE = '01'
ora dovrei fare una modifica in cui il valore dello sconto cambia a seconda di una select.
una cosa del tipo:
codice:
UPDATE 
MOV_MAG_DETT MOV 
SET 
MOV.PREZZO = FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.PRZDIVISA = FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.IMPORTO = MOV.QUANTI * FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.IMPDIVISA = MOV.QUANTI * FN_FSH_TROVA_PREZZO(MOV.DITTA, MOV.NPAM, 'OF', '1616', ?, '01', MOV.DATDOC),
MOV.SCONTO1 = (SE LA SELECT DA C LO SCONTO È 20; SE LA SELECT DA K LO SCONTO È 30),
MOV.TSTP_MOD = SYSDATE,
MOV.OPR = 'SQL' 
WHERE 
MOV.DITTA = 'XXL' 
AND MOV.FVL = ' ' 
AND MOV.NUMERAT = ? 
AND MOV.PERIODO = ? 
AND MOV.NUM = ? 
AND MOV.SERIE = '01'
si può fare una cosa del genere??