Обсуждение: Create Table Question...
The docs ( 9.0.2) for create table asserts that a data type representing a row of
the table is automatically created.
Tain't clear to me what this means...
Here is a fragment of sql that I frequently use:
*************
insert into checks (select *
   from dblink('select * from checks where date >=''1/1/2011''')
   as (date date,
       amount numeric(9,2),
        tranid text,
       source text,
       memo text,
       status text,
       category text
      ) );
**************
The stuff after the 'as' is a description of the
rows of the table checks.
Could I shortened the above by using the automatically created row type of
the table checks?
Thanks
Jerry
			
		Jerry LeVan <jerry.levan@gmail.com> writes:
> Here is a fragment of sql that I frequently use:
> *************
> insert into checks (select *
>    from dblink('select * from checks where date >=''1/1/2011''')
>    as (date date,
>        amount numeric(9,2),
>         tranid text,
>        source text,
>        memo text,
>        status text,
>        category text
>       ) );
> **************
> The stuff after the 'as' is a description of the
> rows of the table checks.
> Could I shortened the above by using the automatically created row type of
> the table checks?
Unfortunately not.  It's not an unreasonable suggestion, though I'm not
sure how we'd fit it into the syntax.  Maybe we could allow casting
to resolve the output type of the function, a la
    select ... from dblink('query')::checks
            regards, tom lane