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