在 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 语句的常见方法。你可以根据具体的需求选择适合的方法。