Description:
SELECT statements within Stored Procedures return a resultset when they are called. There are situations when it would be desirable to supress these resultset.
Suppose we have a procedure, P1, that can be called either directly by a human user via a command line tool, or programmatically by another procedure P2.
In the first case, it is desirable to return P1's resultsets to the command line client. In fact, this is the only way to send a message from within the stored procedure directly to the user.
In the second case, it would be desirable to suppress P1's resultsets. Suppose the calling procedure, P2, only calls P1 because of some side effect it performs, and suppose P2 is actually a procedure who'se results are meaningful to the caller of P2. Right now, it is not possible to reuse P1 in P2 without affecting the output of P2, wich is a pity.
For function calls (and other expressions), this behaviour can be achieved by using the DO syntax. It would be very nice to have similar functionality for stored procedures.
How to repeat:
NA
Suggested fix:
design and implement a language construct or modifier that acts on, or acts in conjuction with, the CALL statement in order to suprress any resultsets from being return from the called procedure.
Using the DO syntax seems a straightforward solution.