IQ12.7 GA版和IQ15.2#ESD1 insert into 问题
create table test1(id int,name char(10),age tinyint)然后执行insert into test1 values(1,'1111111111aa',30)
15上为什么不能执行成功? 12.7可以执行成功。
求问题原因? 这是因为IQ的一个数据库选项STRING_RTRUNCATION 的缺省值在IQ 12.7和IQ 15发生了改变。先说说这个选项的作用:
Determines whether an error is raised when an INSERT or UPDATE truncates a CHAR or VARCHAR string. When STRING_RTRUNCATION is OFF, the
exception is not raised and the character string is silently truncated. If the option is ON and an error is raised, a ROLLBACK occurs.
IQ 12.7缺省是OFF,而IQ 15是ON
怎么在IQ数据库中看这个选项设置?。。右截断字符会造数据的不一致性吧? 可以使用下面的查询看到这个数据库选项当前设定的值:
select * from sysoptions where upper("option") like '%rtruncation%' 贴错了,应该是下面的
select * from sysoptions where upper("option") like '%RTRUNCATION%' 如果STRING_RTRUNCATION设置为OFF,那么允许截断字符串,这样会导致数据丢失。
页:
[1]