说明:写存储过程的时候经常都会用到动态SQL,现做一小结
PL/SQL中常用动态SQL方法
类型1:不是查询语句,只是DDL语句,UPDATE,INSERT,DELETE,没有绑定变量
例:
EXECUTE IMMEDIATE 'CREATE INDEX emp_ind_1 on emp (sal, hiredate)';
EXECUTE IMMEDIATE
'UPDATE ' || l_table || ' SET sal = 10000 WHERE empno = 1506'
类型2:不是查询语句,只是UPDATE,INSERT,DELETE,有绑定变量
例:
EXECUTE IMMEDIATE
'UPDATE ' || l_table || ' SET sal = :salary WHERE = :employee_id'
USING 10000, 1506;
类型3:有绑定变量的查询
例:
EXECUTE IMMEDIATE
'SELECT last_name, salary FROM employee
WHERE department_id = :dept_id'
USING 10
INTO l_last_name, l_salary;
类型4:一个语句,它所SELECT的列是不确定的,动态的[还没玩过这种..]
例:
OPEN l_cursor FOR
'SELECT ' || l_column_list ||
'FROM employee';
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15720542/viewspace-619768/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15720542/viewspace-619768/
本文总结了PL/SQL中使用动态SQL的四种常见场景,包括不同类型的DDL及DML语句、带有绑定变量的更新与查询操作,并提供了具体示例。

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



