[Lazarus] Reading result of a Firebird stored-procedure
michael.vancanneyt at wisa.be
michael.vancanneyt at wisa.be
Mon Mar 7 17:33:00 CET 2011
On Mon, 7 Mar 2011, Koenraad Lelong wrote:
> Hi,
>
> I have a stored-procedure in Firebird, to generate a primary key :
> CREATE PROCEDURE GEN_STA_NR
> RETURNS (
> STA_NR Integer )
> AS
> begin
> STA_NR=gen_id(StaffelNr_GEN, 1);
> end^
>
> How do I get the result ?
> I made a query with sqldb :
> execute procedure GEN_STA_NR returning_values :STA_NR
> Then I executed that, but that gave an error. After googleing, I
> modified the query to :
> execute procedure GEN_STA_NR returning_values (:STA_NR)
> Still gave an error when executing the query.
Just do a
SELECT STA_NR FROM GEN_STA_NR;
But for getting the next value of a generator you don't need a stored procedure.
Just do a
SELECT gen_id(StaffelNr_GEN, 1) AS THEID FROM RDB$DATABASE;
Since RDB$DATABASE is guaranteed to have 1 record, this always returns 1
record with the next value of your generator. I've been doing this since
years.
Michael.
More information about the Lazarus
mailing list