Subject Re: [ib-support] using Gen_id from a stored proc
Author Jörg Schiemann
> I am trying to write a simple stored proc that returns the results of
> running Gen_Id. I am trying to use this code:
>
> Create Procedure GeneratePrimaryKey
> Returns ("PK" Integer )
> As Begin
> "PK" = Gen_Id( PrimaryKeyGenerator, 1 );
> End !!
> Set Term ; !!
>
> I execute this code using both of these:
>
> Execute Procedure GeneratePrimaryKey
> Select PK From GeneratePrimaryKey
>
> However, though the PrimarykeyGenerator value is being incremented with
> both approaches, neither of these approaches are actually returning the
> generated value. I get back a table with one column and no data.
>
> Does anyone have any idea what I am doing wrong?
>
> Thanks,
> Rhett
Try

DECLARE VARIABLE GEN_NO INTEGER;
DECLARE VARIABLE GEN_NEXT_NO INTEGER;

SELECT GEN_ID(GEN_YOUR_GENERATOR, 0) FROM RDB$DATABASE INTO :GEN_NO;
GEN_NEXT_NO = GEN_NO + 1;


HTH,
Jörg