에 동적 SQL 문을 실행하면 plsql에서 동적 SQL을 실행하고 결과를 sys_refcursor로 반환 할 수 있습니까? 나는 한혜진까지 내 시도를 붙여 넣은하지만 dosnt 솔기가 작동하는이 내 자바 응용 프로그램SYS_REFCURSOR
throught를 받고 오류 메신저입니다 ORA-01006 : 바인드 변수가 ORA-06512 존재하지 않습니다 "LIVEFIS에서. ERC_REPORT_PK ", 라인 (116) ORA-06512 : 줄 1
하지만 자바 잘못 해석 뭔가를해야만 될 수에서, 모든 솔기는 김 미세 컴파일 확실하지 메신저합니다.
procedure all_carers_param_dy (pPostcode in carer.postcode%type, pAge Number
,pReport out SYS_REFCURSOR) is
begin
declare
lsql varchar2(500) :='SELECT c.id FROM carer c, cared_for cf,carer_cared_for ccf '
||' where c.id = ccf.carer_id (+)'
||' AND cf.id (+) = ccf.cared_for_id';
begin
if pPostcode is not null and pAge <= 0 then
lsql := lsql||' AND c.postcode like ''%''|| upper(pPostcode)||''%''';
elsif pPostcode is null and pAge > 0 then
lsql := lsql||' AND ROUND((MONTHS_BETWEEN(sysdate,c.date_of_birth)/12)) = pAge';
elsif pPostcode is not null and pAge > 0 then
lsql := lsql ||' AND ROUND((MONTHS_BETWEEN(sysdate,c.date_of_birth)/12)) = pAge'
||' AND c.postcode like ''%''|| upper(pPostcode)||''%''';
end if;
execute immediate lsql
into pReport;
end;
end;
Impls에 대한 새로운 기능이나 동적 SQL에 대한 새로운 기능은 모든 도움/제안 사항이 크게 줄어 들었습니다.
덕분에 다시
존
기술적으로 SELECT가 커서 데이터 유형을 반환하는 경우 참조 커서 (직접 또는 정적 SQL을 실행)로 선택할 수 있습니다. 그러나이 선택이 id 커서가 아닌 id 값을 반환한다는 점에서 옳습니다. –