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