存储过程调用带参数的视图 没查出东西
-- 包
create or replace package package_test is
-- Author : ADMINISTRATOR
-- Created : 2019/8/2 14:57:01
-- Purpose :
function set_sfsc_param(sfsc varchar2) return varchar2;
function get_sfsc_param return varchar2;
function set_cjsj_param(cjsj varchar2) return varchar2;
function get_cjsj_param return varchar2;
end package_test;
-- 包体
create or replace package body package_test is
paramSfsc varchar2(10);
paramCjsj varchar2(20);
function set_sfsc_param(sfsc varchar2) return varchar2 is
begin
paramSfsc:=sfsc;
return sfsc;
end;
function get_sfsc_param return varchar2 is
begin
return paramSfsc;
end;
function set_cjsj_param(cjsj varchar2) return varchar2 is
begin
paramCjsj:=cjsj;
return cjsj;
end;
function get_cjsj_param return varchar2 is
begin
return paramCjsj;
end;
end package_test;
-- 存储过程
create or replace procedure mytestddd(p_startDate in VARCHAR) as
cursor cur_jg is select sl from view_test where package_tjbb.set_scbj_param(0)=0;
jg number;
begin
for jg in cur_jg loop
begin
dbms_output.put_line(jg.sl);
end;
end loop;
dbms_output.put_line(p_startDate);
end mytestddd;
-- 视图
create or replace view view_test as
select count(a.jgid) sl from xt_jgxxb a where a.scbj = package_tjbb.get_scbj_param();
-- sql
select sl from view_test where package_tjbb.set_scbj_param(0)=0;
正常情况下 用sql 查询会查询出 表中所有 scbj = 0的数据 但是 用存储过程调用带参数的视图的情况下 则在存储过程中 循环输出 则输出的是0 求大神帮忙