编程开发之--Oracle数据库--存储过程使用动态参数绑定(3)

1、动态参数绑定,可以实现动态的执行不同的sql

--创建包
create or replace PACKAGE MYPACKAGE AS 

  type empcursor is ref cursor;
  procedure queryEmpList(dno in number,empList out empcursor);

END MYPACKAGE;
--创建包体
create or replace PACKAGE BODY MYPACKAGE AS

  procedure queryEmpList(dno in number,empList out empcursor) AS
     str_l_selectsql varchar2(4000);
  BEGIN
    str_l_selectsql :='select * from emp where deptno = :dno';
    --EXECUTE IMMEDIATE str_l_selectsql USING  v_2;--不能实现动态绑定参数
    --str_l_selectsql :=str_l_selectsql || dno;--可以通过拼接sql的方式,但不专业
    --open empList for str_l_selectsql;
    --使用光标,首先要打开光标
    open empList for str_l_selectsql USING  dno;--动态绑定参数
    
    NULL;
  END queryEmpList;

END MYPACKAGE;

 

posted @ 2018-07-02 02:42  ZeroMZ  阅读(423)  评论(0编辑  收藏  举报