2015-10-22 73 views
1

從存儲過程向表中插入多行的最佳方式是什麼?DB2 LUW 9.X:存儲過程中的多行插入

EXEC SQL 
    INSERT INTO DSN8A10.ACT 
    (ACTNO, ACTKWD, ACTDESC) 
    VALUES (:HVA1, :HVA2, :HVA3) 
    FOR :NUM-ROWS ROWS 
END-EXEC. 

上面顯然只在z/os中可用,但不在luw中。有沒有相同的東西?

+0

從哪裏插入行? –

+0

我的情況下,存儲過程的數組參數 – Jayp

回答

1

「DB2 9.x」的規範有點過於寬泛。與DB2 9.7開始的時候你可能會使用UNNEST() table function,像這樣:

insert into ACT (ACTNO, ACTKWD, ACTDESC) 
select ACTNO, ACTKWD, ACTDESC from unnest (V_ARR) as (ACTNO, ACTKWD, ACTDESC); 

假設V_ARR是行類型的數組與「列」 ACTNOACTKWDACTDESC