community.borland.com

Article #25587: How to use 'returning_values' with a stored procedure

Problem:
Is it possible to have a Stored Procedure return a value to a Stored Procedure?

Solution:
Yes,  see example below:

create database "returning_val.gdb"
 user "SYSDBA" password "masterkey";

create table t1 (
 pkey integer,
 a_string varchar(10)
 );

set term ^^;

create generator a_gen^^

create procedure call_gen_id 
returns (out_id integer)
as
 begin
  out_id = gen_id(a_gen, 1);
 end^^
commit^^

create procedure call_and_return (
 in_string varchar(10))
returns (
 new_id integer,
 string_sent varchar(10))
as
  declare variable var_id integer;
 begin

      execute procedure call_gen_id
       returning_values :var_id;
      
      insert into t1 (pkey, a_string)
       values (:var_id, :in_string);

     new_id = :var_id;
     string_sent = :in_string;

     suspend;
 end^^
commit^^

set term ;^^

execute procedure call_and_return("testing");
commit;

Last Modified: 26-OCT-00