Phi*_*ord 11 sql postgresql dblink escaping
相关链接:
这是我的错误:
ERROR: type "e" does not exist
Run Code Online (Sandbox Code Playgroud)
这是我的查询:
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))
Run Code Online (Sandbox Code Playgroud)
如果我使用双引号,则删除单引号的反斜杠转义符,并在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))
Run Code Online (Sandbox Code Playgroud)
我明白了:
NOTICE: identifier "SELECT ..." will be truncated
Run Code Online (Sandbox Code Playgroud)
我也得到了错误,因为我的查询被截断了.
我以前用这样的dblink转义过,所以有服务器设置还是我需要配置的东西?
我知道如果我在sql server本身上运行它,那么查询工作正常,但不是dblink.有什么想法吗?
Postgres版本8.4
nik*_*trs 24
尝试更换\'inactive\'用''inactive''-注意:两个单引号
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))
Run Code Online (Sandbox Code Playgroud)
替代(先前)解决方案
SELECT *
FROM dblink('host=theHostName port=1234 dbname=theDBName user=theUser password=thePassword',
'SELECT field_1,
CASE WHEN field_2 IS NOT NULL
THEN E\'inactive\' ELSE E\'active\'
END AS field_status
FROM the_table
')
AS linkresults(field_1 varchar(20),field_2 varchar(8))
Run Code Online (Sandbox Code Playgroud)
小智 5
试试这个查询:
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))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11553 次 |
| 最近记录: |