引用字符串未正确终止

时间:2012-03-26 11:32:51

标签: sql linux oracle

我使用简单的insert语句将值插入CLOB变量,无论如何我收到该错误ORA-01756:引用的字符串未正确终止。

我试图在单行中写入值,但我有另一个错误,我不能使用mroe行中的2500个字符。

当我将行分隔为小于2500时,我遇到了错误ORA-01756:引用的字符串未正确终止。

我使用了以下声明

INSERT INTO table(USER_PROFILE
,NA_TO
)VALUES(
'oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
');

1 个答案:

答案 0 :(得分:2)

请尝试使用可用的连接函数(有时可用作CONCAT)或连接运算符(SQL-92标准||,SQL Server +等)将长字符串写为多个字符串)。这样你可以避免这些错误,因为没有单独的字符串文字需要很长。

此外,您必须为列出的每个列提供一个值。另一方面,您不需要列出表中的所有列。

INSERT INTO table(USER_PROFILE, NA_TO) VALUES(
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 
<many more lines like those>
'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo' || 'oooooooooo',
null)