ITPub博客

首页 > Linux操作系统 > Linux操作系统 > pl/sql--动态SQL常用方法

pl/sql--动态SQL常用方法

原创 Linux操作系统 作者:oracle_db 时间:2009-11-16 17:42:42 0 删除 编辑

说明:写存储过程的时候经常都会用到动态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博客 ” ,链接:https://blog.itpub.net/15720542/viewspace-619768/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-13

  • 博文量
    158
  • 访问量
    354229