From: Mark R. <ma...@la...> - 2021-05-31 15:38:56
|
On 31-05-2021 16:59, Adriano dos Santos Fernandes wrote: > But then an EXECUTE PROCEDURE ignoring output will not be possible. > > Also, EXECUTE PROCEDURE is very verbose (specially for execute ignoring > outputs, which in most languages does not even require any keyword - but > is ambiguous with our functions). > > If CALL is not accepted, then I propose same syntax with "EXEC". What is the real problem you're trying to solve? The current syntax is 20+ years old, and I think this is one of the first times (if not the first time) I hear complaints about its verbosity, or a need to selectively obtain output columns. If this is really something that needs to be addressed, I would prefer a less ambiguous naming than `EXEC` (which at first glance I'd think just to be an abbreviation of `EXECUTE PROCEDURE` instead of an entirely different statement with different semantics). Maybe a few design options would need to be evaluated. For example, if the existing `EXECUTE PROCEDURE` syntax can be retrofitted to obtain the behaviour you want. For example, `RETURNING_VALUES <variable list>` and `INTO <variable_list>` serve the same purpose, so they could be alternative terms (we could then also consider allowing `INTO (<variable list>)` everywhere `INTO` currently occurs for consistency). The problem of selectively returning columns could be solved with `RETURNING`, where we introduce `RETURNING ()` to signal that no columns need to be returned (although I really question the need for such a feature). Again, for syntax consistency, we should consider allowing this everywhere `RETURNING` occurs, where it would signal the 'normal' behaviour. Mark -- Mark Rotteveel |