Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Question regarding SYS_REFCURSOR

user489948Aug 13 2009 — edited Aug 16 2009
Hello,

Here is my procedure which will get the set of result into SYS_REFCURSOR as OUT parameter.
The problem is :
if p_job is null then we will get "ORA-01006: bind variable does not exist"

Could anybody please let me know how to solve this problem, or please provide better way to put the set of result into SYS_REFCURSOR.

Thanks in advance!



CREATE OR REPLACE PROCEDURE pr_test
(p_start_date IN DATE,
p_end_date IN DATE,
p_job IN varchar2,
result_set IN OUT SYS_REFCURSOR)
AS
v_sql_string varchar2(2000);

BEGIN

v_sql_string := 'SELECT * FROM emp WHERE HIREDATE between :1 AND :2';

IF p_job is not null THEN
v_sql_string := v_sql_string || ' AND job = :3';
END IF;

OPEN result_set
FOR v_sql_string USING p_start_date, p_end_date, p_job;

END pr_test;
/
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 13 2009
Added on Aug 13 2009
9 comments
3,086 views