hi guys
I have a store proc like this
>>>>>>>>>>>>>>>>>>>>>>
CREATE PROCEDURE RETRIEVE1600
(
IN I_DOC_FEE_CODE CHAR(4),
IN I_EFF_START_DATE DATE,
IN I_EFF_END_DATE DATE,
OUT SP_STATUS INTEGER)
FENCED
RESULT SET 1
LANGUAGE SQL
NOT DETERMINISTIC
MODIFIES SQL DATA
NO DBINFO
COLLID RFSPONLN
WLM ENVIRONMENT DB2DDFLT
ASUTIME NO LIMIT
STAY RESIDENT YES
PROGRAM TYPE MAIN
SECURITY DB2
COMMIT ON RETURN NO
--
P1: BEGIN
--
DECLARE SQLSTATE CHAR(5) DEFAULT '00000';
DECLARE SQLCODE INTEGER DEFAULT 0;
--
DECLARE SEL_CSR CURSOR WITH RETURN FOR
--
SELECT
DOC_FEE_CODE
, DOC_DESCRIPTION
FROM RFT_DOC_FEE_CODE
WHERE
DOC_FEE_CODE = I_DOC_FEE_CODE
--
FOR FETCH ONLY
WITH UR
;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
SET SP_STATUS = SQLCODE;
--
OPEN SEL_CSR;
--
SET SP_STATUS = SQLCODE;
--
END P1
>>>>>>>>>>>>>>>>>>>>>>
I am assuming that cursors is being used in the above code( DECLARE SEL_CSR CURSOR WITH RETURN FOR) and ( OPEN SEL_CSR;).
Can any one explain what cursor is and how it is being used in the above store proc.
Also, what is this statement doing?
FOR FETCH ONLY
WITH UR
any help gretly appreciated,
thanks
Jay
Start Free Trial