EXECUTE IMMEDIATE語句用于在PL/SQL程序中動態執行SQL語句。以下是一個使用EXECUTE IMMEDIATE的示例:
DECLARE
sql_stmt VARCHAR2(200);
emp_name VARCHAR2(100);
BEGIN
sql_stmt := 'SELECT ename FROM emp WHERE empno = 7839';
EXECUTE IMMEDIATE sql_stmt INTO emp_name;
DBMS_OUTPUT.PUT_LINE('Employee name is: ' || emp_name);
END;
在這個示例中,我們首先聲明一個變量sql_stmt來存儲要執行的SQL語句。然后,我們使用EXECUTE IMMEDIATE語句執行SELECT語句并將結果存儲在emp_name變量中。最后,我們使用DBMS_OUTPUT.PUT_LINE語句來打印出從數據庫中檢索到的員工姓名。
需要注意的是,使用EXECUTE IMMEDIATE執行動態SQL語句時,需要格外注意防止SQL注入攻擊。可以使用綁定變量來避免這種情況。