我遇到过一种情况,我应该动态获取列(以及列类型)来创建外表。
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.我用google搜索了条款,但我无法用多行来计算它。我想我应该从这个查询中获取表列信息。