sys_refcursor
을 반환하는 프로 시저를 실행하려고하는데 with 명령을 사용하여 커서를 가져 오려고하지만 프로 시저를 실행할 때 오류가 발생합니다. 가능한가? 다음은 PROC은 다음과 같습니다sys_refcursor와 함께 내부 프로 시저와 함께 오라클 사용
create or replace
procedure sp_proc(
p_vl_skip in number,
p_vl_take in number,
tblresult out sys_refcursor)
as
v_first_row number;
v_last_row number;
begin
select p_vl_skip into v_first_row from dual;
select p_vl_skip + p_vl_take into v_last_row from dual;
open tblresult for
with tbl_relacao_rejeicoes as (
select vl_value1, vl_value2, row_number() over (order by vl_value1 desc) vl_reg
from tb_table
order by vl_value1 desc)
select *
from tbl_relacao_rejeicoes
where vl_reg between v_first_row and v_last_row
order by cd_motivo_rejeicao vl_value1;
end;
/
그것은 어떤 로그없이 컴파일,하지만 난 그것을 실행할 때, 내가 얻을 :
OracleException: ORA-06550: line 1, column 7:
PLS-00201: identifier 'TBL_RELACAO_REJEICOES' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
어떤 버전의 데이터베이스를 사용합니까? –
왜 사용하지 않습니까? =? –
10R2 ... 죄송합니다. – Pascal