On 12/15/20 5:13 PM, Bruce Momjian wrote:
On Wed, Dec 9, 2020 at 09:48:54PM +0100, Peter Eisentraut wrote:
On 2020-12-03 20:26, Peter Eisentraut wrote:
> On 2020-12-03 16:34, Tom Lane wrote:
> > As I recall, a whole lot of the pain we have with INTO has to do
> > with the semantics we've chosen for INTO in a set-operation nest.
> > We think you can write something like
> >
> > SELECT ... INTO foo FROM ... UNION SELECT ... FROM ...
> >
> > but we insist on the INTO being in the first component SELECT.
> > I'd like to know exactly how much of that messiness is shared
> > by SQL Server.
>
> On sqlfiddle.com, this works:
>
> select a into t3 from t1 union select a from t2;
>
> but this gets an error:
>
> select a from t1 union select a into t4 from t2;
>
> SELECT INTO must be the first query in a statement containing a UNION,
> INTERSECT or EXCEPT operator.
So, with that in mind, here is an alternative proposal that points out that
SELECT INTO has some use for compatibility.
Do we really want to carry around confusing syntax for compatibility? I
doubt we would ever add INTO now, even for compatibility.
If memory serves the INTO syntax is a result from the first incarnation
of PL/pgSQL being based on the Oracle PL/SQL syntax. I think it has been
there from the very beginning, which makes it likely that by now a lot
of migrants are using it in rather old code.
I don't think it should be our business to throw wrenches into their
existing applications.
Regards, Jan
--
Jan Wieck
Principle Database Engineer
Amazon Web Services