相关链接:
这是我的错误:
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 服务器本身上运行查询是没有问题的,但是在使用 dblink 时出现了错误。有什么想法吗?
Postgres 版本为 8.4。