相关链接:
这是我的错误:
ERROR: type "e" does not exist
这是我的查询:
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
E'SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN \'inactive\' ELSE \'active\'
END AS field_status
FROM the_table
')
AS linkresults(field_1 varchar(20),field_2 varchar(8))
如果我使用双引号,请删除单引号的反斜杠转义并删除 SELECT 语句之前的 E
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
"SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN 'inactive' ELSE 'active'
END AS field_status
FROM the_table
")
AS linkresults(field_1 varchar(20),field_2 varchar(8))
我明白了:
NOTICE: identifier "SELECT ..." will be truncated
由于我的查询已被截断,我也收到错误消息。
我以前用这样的 dblink 逃脱了,所以有服务器设置或我需要配置的东西吗?
我知道如果我在 sql server 本身上运行查询,它就可以正常工作,但不能在 dblink 上运行。有什么想法吗?
Postgres 版本 8.4