KSQLでのUpdateマルチテーブルカスケード更新の構文
1129 ワード
Update XXX Set FXXX =
( Select ①
From ...
Where ②)
Where ③
Updateには3つの論理部分が含まれなければならない:a.)フィールドをなぜ値、すなわち新しい値に更新するかを1に示す.b.)更新対象テーブルとソーステーブルとの対応関係を②に示すc.)更新対象テーブルにどのようなレコードが更新されるかを③に示す注意:updte文を書いた後、ksqlで翻訳する必要があり、oracleとdb 2でいくつかの文(パラメータを含む可能性がありますか?)を多く翻訳する可能性があります.を選択すると、実行時にエラーが発生します.Caused exception message is:インデックスでINまたはOUTパラメータが失われます.3例:
UPDATE T_SD_SaleOrderEntry
SET (FPreReceived, FUnPrereceivedAmount) =
(SELECT T_SD_SaleOrderEntry.FPreReceived + IsNull(rbe.FActualAmt, 0)
AS FPreReceived,
T_SD_SaleOrderEntry.FPrepayment - IsNull(rbe.FActualAmt, 0)
AS FUnPrereceivedAmount
FROM T_CAS_ReceivingBillEntry rbe
WHERE rbe.FSourceBillEntryId = T_SD_SaleOrderEntry.FID AND rbe.FReceivingBillID = "xxxx")
WHERE T_SD_SaleOrderEntry.FID IN
(SELECT soe.FID
FROM T_SD_SaleOrderEntry soe, T_CAS_ReceivingBillEntry rbe
WHERE rbe.FSourceBillEntryId = soe.FID AND rbe.FReceivingBillID = "xxxx")