0
我想創建一個存儲過程,它使用select來獲取兩個表中的行數,然後打印出結果。使用參數在DB2中的存儲過程中添加兩行計數
CREATE PROCEDURE TEST(IN tab1 varchar(20), IN tab2 varchar(20), out msg INTEGER)
LANGUAGE SQL
READS SQL DATA
BEGIN
DECLARE r1 CURSOR WITH RETURN FOR
SELECT COUNT(*) FROM tab1;
DECLARE r2 CURSOR WITH RETURN FOR
SELECT COUNT(*) FROM tab2;
OPEN r1;
OPEN r2;
---- somehow add the 2 together -----
CALL DBMS_OUTPUT.PUT('Zeilen = ');
CALL DBMS_OUTPUT.PUT_LINE(msg);
END @
我更新了全部代碼添加遊標,因爲一個選擇(可變)=東西似乎並不像
SELECT tableOneCount = (SELECT COUNT(*) FROM tab1);
工作,但現在的問題是,在創建過程出現錯誤該tab1是未知的,這是顯而易見的,因爲它是一個變量,我不知道如何添加2個遊標。
任何想法?
在此先感謝。
TheVagabond
'SELECT'不指定變量值你要做到這一點,而不是在DB2反正路的方式。此外,你不能使用變量作爲對象名稱 - 谷歌的「動態SQL」。 – mustaccio 2014-10-10 13:07:06