编程开发之--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;

猜你喜欢

转载自www.cnblogs.com/ZeroMZ/p/9252037.html