이봐, 내가 테스트 스크립트를 실행할 때 PLSQL에서하지만 어떤 이유로 내 동적 SQL 블록에 paging
를 추가하는 것을 시도하고 오류를 밖으로 : 여기 이 페이지 매김 오라클/PLSQL 오류에
ORA-00932: inconsistent datatypes: expected - got -
내 절차 :
set serveroutput on
declare
type tempcursor is ref cursor;
v_cur_result tempcursor;
p_columnsort_in varchar2(50);
p_column1_in varchar2(50);
p_column2_in varchar2(50);
p_column3_in varchar2(50);
p_column4_in varchar2(50);
p_ascdesc_in varchar2(50);
begin
spm_search_patientmedrecs
('h.PRIMARYMEMBERPLANID',
'h.PRIMARYMEMBERPLANID',
'h.ASSIGNEDUSERID',
'd.MEMBERMEDRECONCILIATIONDETSKEY',
'd.GENERICNM',
'ASC',
v_cur_result
);
loop
fetch v_cur_result into
p_column1_in,p_column2_in,p_column3_in,p_column4_in;
dbms_output.put_line('column 1: '||p_column1_in||' column 2: '||p_column2_in||
' column 3: '||p_column3_in||' column 4: '||p_column4_in);
exit when v_cur_result%notfound;
end loop;
end;
내가 나던 이상 게시 오류가 이해가 : 여기
create or replace
procedure spm_search_patientmedrecs (
p_columnsort_in in varchar2,
p_column1_in in varchar2,
p_column2_in in varchar2,
p_column3_in in varchar2,
p_column4_in in varchar2,
p_ascdesc_in in varchar2,
p_return_cur_out out sys_refcursor
is
lv_sql varchar2(32767);
lv_startnum number:= 1;
lv_incrementby number:= 20;
begin
lv_sql := '';
lv_sql := 'select * from (
select /*+ first_rows(20) */
'||p_column1_in||',
'||p_column2_in||',
'||p_column3_in||',
'||p_column4_in||',
row_number() over
(order by '||p_columnsort_in||' '||p_ascdesc_in||') rn
from membermedicalreconcilationhdr h,
membermedicalreconcilationdet d
where h.membermedreconciliationhdrskey =
d.membermedreconciliationhdrskey)
where rn between :lv_startnum and :lv_incrementby
order by rn';
open p_return_cur_out for lv_sql;
end spm_search_patientmedrecs;
내 테스트 스크립트입니다 나,하지만 나는 그 원인을 잠시 찾고 있었다. 누군가가 올바른 방향으로 나를 가리킬 수 있다면 그것은 많이 감사하게 될 것입니다, 미리 감사드립니다.
인용 한 오류는 ORA-00932의 표준 양식입니다. 일반적으로'-'가 예상 된 실제 문자로 대체 될 것으로 기대합니다. 불행히도 그 정보는 없어졌습니다. –