pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Subodh Kumar <subodh.kumar@epps-erp.com>
Cc: pgsql-admin@lists.postgresql.org
Subject: Re: creating table without columns
Date: Tue, 30 Oct 2018 09:12:43 -0400
Message-ID: <13596.1540905163@sss.pgh.pa.us> (raw)
In-Reply-To: <CA+KMk93CwQBP8SMeu_wcGdrj_ZTLVQVDpL-zbCd2vdy0hfWYrw@mail.gmail.com>
References: <CA+KMk93CwQBP8SMeu_wcGdrj_ZTLVQVDpL-zbCd2vdy0hfWYrw@mail.gmail.com>

Subodh Kumar <subodh.kumar@epps-erp.com> writes:
> I have run below query it is created 'test' table without columns
> but table row count is 2.
> please give me clarity about this, i thought it may give syntax error but
> not
> either it must have 2 rows data but both are not happened.

> with ins_test as (select 1 as srno
> union
> select 2)
> select into test from ins_test;

I think you meant to write

with ins_test as (select 1 as srno
union
select 2)
select * into test from ins_test;

or possibly

with ins_test as (select 1 as srno
union
select 2)
select srno into test from ins_test;

What you did write has no columns in the SELECT result clause,
so the INTO creates a table of no columns --- but you get
the expected number of rows.

Postgres allows zero-column tables, and zero-column selects,
because otherwise there are too many weird corner cases;
for instance ALTER TABLE DROP COLUMN would have to reject
dropping the last column.  The SQL standard has a different
opinion about which way is less ugly ...

			regards, tom lane




view thread (5+ messages)  latest in thread

Message-ID: <13596.1540905163@sss.pgh.pa.us>
Permalink:  ../13596.1540905163@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/13596.1540905163@sss.pgh.pa.us

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: tgl@sss.pgh.pa.us, subodh.kumar@epps-erp.com, pgsql-admin@lists.postgresql.org
  Subject: Re: creating table without columns
  In-Reply-To: <13596.1540905163@sss.pgh.pa.us>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox