Re: creating table without columns
| От | Tom Lane | 
|---|---|
| Тема | Re: creating table without columns | 
| Дата | |
| Msg-id | 13596.1540905163@sss.pgh.pa.us обсуждение исходный текст  | 
		
| Ответ на | creating table without columns (Subodh Kumar <subodh.kumar@epps-erp.com>) | 
| Ответы | 
                	
            		Re: creating table without columns
            		
            		 | 
		
| Список | pgsql-admin | 
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
		
	В списке pgsql-admin по дате отправления: