Home » SQL & PL/SQL » SQL & PL/SQL » Row count for a select for cursor....
Row count for a select for cursor.... [message #38817] Thu, 16 May 2002 13:17 Go to next message
Judy
Messages: 3
Registered: April 2002
Junior Member
WE have several pl/sql packages that do a select for cursor. IS there a way to get a row count from the cursur ? We are currectly reselecting the rows with the count(*) function.

Header Code:
CURSOR C_ACK_RD_PEND_HR_HDR IS
SELECT hr_id, hr_rev FROM hr_hdr ;

TYPE T_ACK_RD_PEND_HR_HDR IS REF CURSOR RETURN C_ACK_RD_PEND_HR_HDR%ROWTYPE ;

PROCEDURE READ_HR_FOR_ACKNOWLEDGEMENT (v_tstat OUT NUMBER,
ACK_RD_PEND_HR_HDR_REC OUT T_ACK_RD_PEND_HR_HDR) ;

BODY CODE:

PROCEDURE READ_HR_FOR_ACKNOWLEDGEMENT (v_tstat OUT NUMBER,
ACK_RD_PEND_HR_HDR_REC OUT T_ACK_RD_PEND_HR_HDR)
IS
BEGIN
OPEN ACK_RD_PEND_HR_HDR_REC FOR
SELECT hr_id, hr_rev
FROM hr_hdr
WHERE hr_doc_stat IN ('NTS') ;
SELECT count(*) INTO v_count
FROM hr_hdr
WHERE hr_doc_stat IN ('NTS') ;
IF v_count > 0 THEN v_tstat := 0 ;
ELSE v_tstat := 1 ;
END IF ;

Thanks for your help !
Re: Row count for a select for cursor.... [message #38820 is a reply to message #38817] Thu, 16 May 2002 17:15 Go to previous message
Todd Barry
Messages: 4819
Registered: August 2001
Senior Member
No, there is no way to determine the number of rows in the cursor without: 1) counting them explicity (as you are doing), or 2) fetching every row in the cursor (and there are no fetches in your procedure, just an open).
Previous Topic: Re: wild card filtering
Next Topic: Insert Statement ?
Goto Forum:
  


Current Time: Thu Apr 25 07:31:26 CDT 2024