2013/8/27 David E. Wheeler <da...@justatheory.com>

> On Aug 27, 2013, at 12:30 AM, Pavel Stehule <pavel.steh...@gmail.com>
> wrote:
>
> > I disagree - Tom K. speaking about what he likes or dislikes (and about
> what he didn't use) He forgot about strong points of implicit result or
> interesting points. Clients usually has no problem with dynamic datasets -
> PHP, DBI, Llibpq, GUI components .. all libs support a generic access and
> this generic access is often used due less dependency on queries.
> >
> > There are a three interesting possibilities of implicit result sets:
> >
> > * Possibility to return dynamic dataset - when you don't know a result
> before execution - typical use case is a some form of pivot tables or some
> analytics queries.
> >
> > * Possibility to return multiple results as flattening of some
> multidimensional data.
> >
> > * Possibilty to write multiresults reports for one call execution.
>
> As a dynamic language programmer, I can see this, as long as it’s not to
> the exclusion of strong typing interfaces, as well.
>
> However, I do not think it should be implicit. If a function or procedure
> wants to return values or query results or whatever to the caller, it
> should explicitly do so by using some key word. We already have RETURN,
> RETURN NEXT, RETURN QUERY, and RETURN EXECUTE, which is great for
> functions. For hypothetical functions or procedures that want to return
> data as it processes, rather than buffering the results and returning them
> all at once, perhaps we could add YIELD, YEILD QUERY, and YIELD EXECUTE. In
> fact, this is pretty much exactly what the key word YIELD is for in
> coroutines:
>
>   https://en.wikipedia.org/wiki/Coroutine
>
> But whatever the keyword, I think it makes sense to require one to return
> results to the caller. Any query that does not return, yield, or capture
> (select into) values should just have its results discarded.
>

A usual and first solution and syntax is defined by Sybase - we can define
own syntax, but I don't think so it is necessary be original everywhere.

My opinion is surely subjective - this feature is one from few features
that are nice on T-SQL.

Regards

Pavel



>
> My $0.02.
>
> Best,
>
> DAvid

Reply via email to