У меня есть следующий оператор обновления MSSQL, который содержит внутреннее соединение и выражение случая в операторе обновления, можно ли преобразовать оператор обновления в состояние обновления DB2.
UPDATE LIBNAME1.OPTR_POS_FIX
SET VAL_TYPE = @VAL_TYPE
,PORT_SNAME = @PORT_SNAME
,ISIN_NO = @ISIN_NO
,SEC_SNAME = @SEC_SNAME
,SEC_CCY_ABBR = @SEC_CCY_ABBR
,BASE_CCY = @BASE_CCY
,TRX_BCCY_EX_RATE = @TRX_BCCY_EX_RATE
,QUANTITY = @QUANTITY
,MKT_PRICE = @MKT_PRICE
,AVG_COST = @AVG_COST
,MVAL_AMT_SC = ROUND(@QUANTITY * @MKT_PRICE / (
CASE
WHEN FDBVAL.VLGTI = 100
THEN 100
ELSE 1
END
), 3)
,MVAL_AMT_BC = ROUND(@QUANTITY * @MKT_PRICE / (
CASE
WHEN FDBVAL.VLGTI = 100
THEN 100
ELSE 1
END
) / @TRX_BCCY_EX_RATE, 3)
,AVG_BVAL_SC = @AVG_BVAL_SC
,AVG_BVAL_BC = @AVG_BVAL_BC
,INT_AMT_SC = @INT_AMT_SC
,INT_AMT_BC = @INT_AMT_BC
FROM LIBNAME1.OPTR_POS_FIX
INNER JOIN LIBNAME2.FDBVAL ON OPTR_POS_FIX.SEC_CODE = FDBVAL.VLVALR
WHERE (OPTR_POS_FIX.VALN_DATE = @VALN_DATE)
AND (OPTR_POS_FIX.PORT_CODE = @PORT_CODE)
AND (OPTR_POS_FIX.SEC_CODE = @SEC_CODE)
Я ценю любую помощь.