- 现象描述
更新字段内容包含多个回城符,直接执行会报错如下:
282: Found a quote for which there is no matching quote.
- 解决方法
EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T'); update TAP_BUSSINESS set memo='(1)解决方法一 (2)解决方法二 (3)解决方法三';
- 方法说明
- 解决方法一
会话级解决:在当前连接的数据库会话中先调用执行一个UDR过程,即ifx_allow_newlin(boolean),之后再执行带有回车值写入的sql语句即可;
-
- 解决方法二
数据库实例级别修改配置参数,以支持回车换行写入:即在informix帐户$ONCONFIG文件中将ALLOW_NEWLINE设定为1(默认为0:所有用户不支持写入换行回车)。但此参数修改需要重启数据库生效。
- Oracle怎么做呢
对于oracle数据库方法更简单,直接在sql语句中使用内部函数即可:换行符=chr(10)||chr(13)
e.g.
insert into testTable values ('(1)解决方法一'||chr(10)||chr(13)||'(2)解决方法二');
这样插入的内容为:
“(1)解决方法一
(2)解决方法二”