Informix SQL如何插入换行符
-
一、现象描述
Informix里更新字段内容包含多个回车符,直接执行会报错如下:
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)解决方法三';
-
三、方法说明
-
3.1 解决方法一
-
会话级解决:在当前连接的数据库会话中先调用执行一个UDR过程,即ifx_allow_newlin(boolean),之后再执行带有回车值写入的sql语句即可;
-
-
3.2 解决方法二
-
数据库实例级别修改配置参数,以支持回车换行写入:即在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)解决方法二”