2014-03-05 32 views
1

我有一個要求,我需要讀取一個表(表名作爲SP的輸入參數提供),將結果存儲在臨時表中,然後存儲計數將表讀入一個變量。請告知如何實現這一點。我已經能夠使用動態查詢讀取表格及其計數,但無法將結果放入臨時表格/變量中。 '選擇'和'進入'條款似乎不適用於'立即執行'。謝謝。'立即執行'與HANA中的成條款

回答

1

這是我不太清楚到底是什麼被問過,但你應該能夠通過以下方式來執行SELECT語句:

CREATE PROCEDURE p1(IN tablename VARCHAR) AS 
BEGIN 
    execute immediate 'SELECT * FROM ' || :tablename; 
END; 

然後下面的語句創建一個表,並調用程序檢索結果:

create table T (i integer); 
insert into T values (123); 

以下將產生設定一個行/列具有值結果123:

CALL p1('T') 

請注意,使用這種類型的功能時,您需要非常小心,不要讓任何用戶提供的輸入直接提供給使用EXECUTE IMMEDIATE的過程以避免發生SQL注入攻擊的可能性。