在 PL/SQL 中執行 SQL 語句有以下幾種方法:
EXECUTE IMMEDIATE
語句:EXECUTE IMMEDIATE
語句用于執行動態 SQL 語句。你可以將 SQL 語句字符串賦值給一個變量,并在 EXECUTE IMMEDIATE
語句中使用該變量。例如:DECLARE
sql_stmt VARCHAR2(100);
BEGIN
sql_stmt := 'SELECT * FROM employees';
EXECUTE IMMEDIATE sql_stmt;
END;
OPEN-FOR-...-USING
語句:OPEN-FOR-...-USING
語句用于執行帶有參數的 SQL 語句。你可以在 OPEN
語句中使用 FOR ... IN
進行循環,并使用 USING
子句指定參數。例如:DECLARE
emp_id NUMBER := 100;
emp_name VARCHAR2(100);
CURSOR c_emp IS
SELECT employee_name
FROM employees
WHERE employee_id = emp_id;
BEGIN
OPEN c_emp;
FETCH c_emp INTO emp_name;
CLOSE c_emp;
END;
EXECUTE
語句:當你在 PL/SQL 中執行 DML 語句或調用存儲過程時,可以使用 EXECUTE
語句。例如:DECLARE
emp_id NUMBER := 100;
BEGIN
EXECUTE IMMEDIATE 'DELETE FROM employees WHERE employee_id = :1' USING emp_id;
END;
這些是 PL/SQL 中執行 SQL 語句的常見方法。你可以根據具體的需求選擇適合的方法。