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/
本文介绍了PL/SQL中的静态SQL用法,包括如何在PL/SQL块中执行DML语句,如INSERT、UPDATE、DELETE等,并通过具体实例展示了如何使用PL/SQL变量与SQL语句结合。
1581

被折叠的 条评论
为什么被折叠?



