0
下面的語句是用來在DB2上執行操作UPSERT:如何使用jdbc prepared語句傳遞可變數量的參數?
MERGE INTO mytable AS mt USING (
SELECT * FROM TABLE (
VALUES
(?, ?),
(?, ?),
—-^repeated many times, one for each row to be upserted
)
) AS vt(id, val) ON (mt.id = vt.id)
WHEN MATCHED THEN
UPDATE SET val = vt.val
WHEN NOT MATCHED THEN
INSERT (id, val) VALUES (vt.id, vt.val)
;
每次我把這種說法,我將不得不插入不同的行數。是否可以使用準備好的聲明進行此調用?那將是什麼樣子?
編號:https://stackoverflow.com/a/23784606/1033422
如果數量多少?參數標記每次運行都不相同,那麼如果參數標記的數量發生變化,您必須重新準備。特別是在有很多行的情況下,我會使用DGTT。是的,更多的語句,但更容易擴展,因爲可以動態地索引dgtt。 – mao
謝謝@mao。如果您想將其轉換爲答案,我很樂意接受。 –