2013-03-28 58 views
3

我有一個存儲過程,它創建表並將其插入到這些表中,這裏一切都很順利。用下面的代碼動態SQL Select語句進入關鍵字

execute immediate 
'SELECT NAME 
INTO variable1 
FROM table1 
WHERE ID = 2'; 

錯誤的問題是:缺少 關鍵字。

回答

3
execute immediate 
    'SELECT NAME FROM table1 WHERE ID = 2' 
    into variable1; 
+0

謝謝......它的工作...... – user1990383 2013-03-28 07:24:23

2

您不希望INTO成爲動態SQL語句的一部分。它需要的EXECUTE IMMEDIATE

EXECUTE IMMEDIATE 
    'SELECT name FROM table1 WHERE id = 2' 
    INTO variable1; 

你幾乎可以肯定要使用動態SQL語句綁定變量,以減少不斷硬解析語句的開銷是一部分。數字2幾乎肯定來自其他地方,不應該被硬編碼。

EXECUTE IMMEDIATE 
    'SELECT name FROM table1 WHERE id = :val' 
    INTO variable1 
USING some_variable_with_a_value_of_2;