PL/SQL静态SQL
静态SQL是PL/SQL的一个功能,它允许SQL语法直接出现在PL/SQL语句中。
静态SQL的描述
语句
PL/SQL静态SQL,可以在对应的SQL语句使用绑定变量的地方使用PL/SQL标识符,该标识符用于表示一个变量或一个参数。
-- PL/SQL静态SQL DROP TABLE employees_temp; CREATE TABLE employees_temp AS SELECT employee_id, first_name, last_name FROM employees;
DECLARE emp_id employees_temp.employee_id%TYPE := 299; emp_first_name employees_temp.first_name%TYPE := 'Bob'; emp_last_name employees_temp.last_name%TYPE := 'Henry'; BEGIN --静态SQL语句,INSERT, UPDATE, DELETE和COMMIT INSERT INTO employees_temp (employee_id, first_name, last_name) VALUES (emp_id, emp_first_name, emp_last_name);
UPDATE employees_temp SET first_name = 'Robert' WHERE employee_id = emp_id;
DELETE FROM employees_temp WHERE employee_id = emp_id RETURNING first_name, last_name INTO emp_first_name, emp_last_name;
COMMIT; DBMS_OUTPUT.PUT_LINE (emp_first_name || ' ' || emp_last_name); END; |
注意:在PL/SQL代码运行了DML语句之后,一些变量的值是未定义的。
n 在FETCH或SELECT语句引发异常之后,那这些语句之后定义的变量的值是未定义的。
n 在DML操作影响了0行之后out绑定变量的值是未定义的,除非DML语句是BULK或多行操作。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17013648/viewspace-1118612/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17013648/viewspace-1118612/