首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Postgresql dblink

Postgresql dblink
EN

Stack Overflow用户
提问于 2012-05-15 06:52:33
回答 1查看 4.2K关注 0票数 0

试着在看一个例子时表现懒散

代码语言:javascript
复制
SELECT realestate.address, realestate.parcel, s.sale_year, s.sale_amount, 
        FROM realestate INNER JOIN 
                dblink('dbname=somedb port=5432 host=someserver 
                user=someuser password=somepwd',
                'SELECT parcel_id, sale_year, 
                    sale_amount FROM parcel_sales')
            AS s(parcel_id char(10),sale_year int, sale_amount int)

有办法从桌子上填上AS部分吗?

我在不同的服务器上从同名和同结构的表中复制数据。如果我能够从现有的表中复制结构,它将节省我大量的时间。

谢谢布鲁斯

EN

回答 1

Stack Overflow用户

发布于 2012-05-15 07:01:05

答案是:不。见医生:

由于dblink可以与任何查询一起使用,所以声明它返回记录,而不是指定任何特定的列集。这意味着必须在调用查询中指定预期的列集,否则PostgreSQL将不知道预期的内容。

http://www.postgresql.org/docs/9.1/static/contrib-dblink-function.html

编辑:顺便说一下,对于表或视图,您可以在第一个查询中获得字段名称和类型:

代码语言:javascript
复制
select column_name 
from information_schema.columns
where table_name = 'your_table_or_view';

然后您可以使用它来填充字段声明。

亚历克西斯

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10595560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档