We're a community of 1077K IT Pros here for help, advice, solutions, professional growth and fun. Join us!
1,076,498 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Start New Discussion Reply to this Discussion

Sys_RefCursor

I want to convert the following SP to SQL, but I am not able to do ::-

ORACLE SP

create or replace
PROCEDURE           "USP_TEST" 
(
p_CURPRODUCTTYPE out sys_refcursor,
p_PROD_ID IN TBL_PROD_MASTER.PROD_ID%TYPE :=NULL
) is
  begin
  open p_CURPRODUCTTYPE for
SELECT PROD_ID,
  PROD_CODE,
  PROD_NAME,
  PRIMARY_UOM,
  SECONDARY_UOM
FROM TBL_PROD_MASTER
WHERE TBL_PROD_MASTER.PROD_ID =NVL(p_PROD_ID,TBL_PROD_MASTER.PROD_ID)
ORDER BY TBL_PROD_MASTER.PROD_NAME;
end;

SQL SP : -

CREATE PROCEDURE "USP_TEST"(p_recordset OUT SYS_REFCURSOR , 
p_PROD_ID IN TBL_PROD_MASTER.PROD_ID%TYPE :=NULL
                      ) AS 
BEGIN 
  OPEN p_recordset FOR
   SELECT PROD_ID,
  PROD_CODE,
  PROD_NAME,
  PRIMARY_UOM,
  SECONDARY_UOM
FROM TBL_PROD_MASTER
WHERE TBL_PROD_MASTER.PROD_ID =NVL(p_PROD_ID,TBL_PROD_MASTER.PROD_ID)
ORDER BY TBL_PROD_MASTER.PROD_NAME; 

END ;
/

But I am getting the following ERRORs : -
Msg 102, Level 15, State 1, Procedure USP_TEST, Line 1
Incorrect syntax near 'p_recordset'.
Msg 156, Level 15, State 1, Procedure USP_TEST, Line 5
Incorrect syntax near the keyword 'FOR'.
Msg 195, Level 15, State 10, Procedure USP_TEST, Line 12
'NVL' is not a recognized built-in function name.

1
Contributor
0
Replies
1
View
sonia sardana
Posting Whiz
329 posts since Mar 2008
Reputation Points: 0
Solved Threads: 8
Skill Endorsements: 0

This article has been dead for over three months: Start a new discussion instead

Post: Markdown Syntax: Formatting Help
 
You
 
© 2013 DaniWeb® LLC
Page rendered in 0.5049 seconds using 2.44MB