是否有任何配置强制只允许在 SQL 中用单引号括住字符串? dbimport 后出现问题。
数据库和操作系统
IBM Informix Dynamic Server Version 14.10.FC8AEE
Red Hat Enterprise Linux release 8.5
示例 SQL:带双引号
$ dbaccess ssmpdc -
Database selected.
> select first 3 tabname[1,30] tabname
from systables
where tabname like "sys%"
;
> > >
217: Column (sys%) not found in any table in the query (or SLV is undefined).
Error in line 3
Near character position 25
>
示例 SQL:带单引号
$ dbaccess ssmpdc -
Database selected.
> select first 3 tabname[1,30] tabname
from systables
where tabname like 'sys%'
;
> > >
tabname
sysaggregates
sysams
sysattrtypes
3 row(s) retrieved.
>
我在以下链接中找到了有关 Informix 环境变量 DELIPIDENT 的信息: 如何转义 Informix 中用作标识符的保留字 以及 https://groups.google.com/g/comp.databases.informix/c/zMSiWG3wbLk
我运行以下命令来检查 DELIMENT 是否已设置,没有任何迹象表明该变量已设置
$ env | grep DELIMIDENT
$ set | grep DELIMIDENT
$ onstat -g cfg | grep DELIMIDENT
如果设置环境变量
DELIMIDENT=1
,则双引号"…"
标记标识符,仅单引号'…'
标记字符串。如果普通字符串使用双引号,这通常会导致 SQL 失败。