Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Using Value of OUT Parameter

Re: Using Value of OUT Parameter

From: David Burke <dtburke_at_software.rockwell.com>
Date: 18 Dec 2001 07:03:12 -0800
Message-ID: <87685036.0112180703.42570bb4@posting.google.com>


ganesh_at_gtfs-gulf.com (Ganesh Raja) wrote in message news:<a8aed4.0112172137.7085de9f_at_posting.google.com>...
> dtburke_at_software.rockwell.com (David Burke) wrote in message news:<87685036.0112171104.1a21207e_at_posting.google.com>...
> > I am Executing a Stored Proc. (with an OUT value) within a Stored
> > Proc.
> > I need to Get the Value of the OUT parameter, from the First Proc.,
> > for an INSERT statement in the Other Proc.
> > Code Snippet:
> >
> > BEGIN
> > DECLARE lSeqId;
> > BEGIN
> > lSeqId := 1;
> >
> > /*This procedure takes an input and returns a new SequenceId*/
> > spGetSeqNumber('TableName',lSeqId);
>
> What are u doing in this procedure... Check that Logic.
>
>
> > INSERT INTO MyTable(lId, sName) VALUES (lSeqId, 'Smith');
> >
> > END;
> >
> > END;
> >
> > Why is lSeqId == NULL when the INSERT is executed?
>
> Regards,
> Ganesh R

Here is the Logic (BTW, I just started writing Oracle sps, so I have much to learn :o)):
CREATE OR REPLACE PROCEDURE spOnyxGetSequenceNumber (

   strTableName IN varchar2,
   lOutId OUT int,
   lCount IN int:=1
)
AS
lId int;
lNextId int;

CURSOR MyCursor IS SELECT lSequence FROM tblSysSequence WHERE sTableName = strTableName FOR UPDATE;

BEGIN
  OPEN MyCursor;
  FETCH MyCursor INTO lId;   

  lNextId := lId + lCount;  

  UPDATE tblSysSequence SET lSequence = lNextId WHERE sTableName = strTableName;   

  lOutId := lNextId;           

  CLOSE MyCursor;
  COMMIT;     END; Received on Tue Dec 18 2001 - 09:03:12 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US