首页 > 解决方案 > postgres 用子句创建表

问题描述

我遇到了一种情况,我应该动态获取列(连同列类型)来创建外部表。

 CREATE FOREIGN TABLE ossexample
 (id varchar(64), b varchar(64), c varchar(64), d varchar(64), e bigint)
      SERVER somserver 
      OPTIONS
 ( dir'osstest/',delimiter ',' ,
     format 'csv', encoding 'utf8');

但是有一种情况,其他工程师想给它加列,我想动态建立这个外表。

select column_name, data_type, character_maximum_length                                                          
from INFORMATION_SCHEMA.COLUMNS where table_name = '<tablename>';

结果是这样的:

 column_name |     data_type     | character_maximum_length
-------------+-------------------+--------------------------
 id          | character varying |                       64
 b           | character varying |                       64
 c           | character varying |                      255
 d           | integer           |
 e           | bigint            |

更详细:

1.这是9.4 postgres ..这意味着我不能使用继承...

2.我用谷歌搜索了 with 子句,但我不知道如何用多行来做到这一点。我想我应该从此查询中获取表列信息。

标签: postgresql

解决方案


推荐阅读