cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Nested CREATE PROCEDURE

Baron
Participant
0 Likes
2,351

Is it possible to create procedure within another procedure?

create procedure my_creator()
begin
  select * from dummy;
  create procedure my_procedure()
  begin
    select * from dummy;
  end
end
This block is executable and the procedure 'my_creator' is created. When I call this procedue 'my_creator', then the other procedure my_procedure is NOT created.

Could maybe anybody help?

Thanks in advance

Accepted Solutions (0)

Answers (1)

Answers (1)

Baron
Participant
0 Likes

It is so, in case the body of any procedure contains a select statement, then the execution of the procedure will be ended once reaching this statement, so this select statement will be the last executed statement within the procedure without throwing any error. Moreover, if this procedure (which contains a select statement) is called within another procedure then the execution of this caller procedure will be stopped as well. Maybe this serves some logic or some intention!!

VolkerBarth
Contributor

I don't think so. If the procedure does a SELECT, the caller has to consume the according result set, so the procedure can continue its work. Say in dbisqlc, you would call RESUME to continue execution...

See that answer for a detailed description...