sql - 带引号的字符串未正确终止

标签 sql linux oracle

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

我尝试在单行中写入值,但我遇到了另一个错误,即我无法在该行中使用 mroe 那 2500 个字符。

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

我使用了以下语句

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

最佳答案

请尝试使用可用的串联函数(有时可用作 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)

关于sql - 带引号的字符串未正确终止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9871331/

相关文章:

php - 选择 future 14 天内的日期范围

sql - 计算Oracle中最大重复字符数

mysql - 向公众开放 SQL 读取权限,不允许滥用

mysql - AND 字段 NOT IN(NULL) 返回空集

如果表不包含值,MySQL 连接返回 null

oracle - SQL*Loader - 如何忽略具有特定字符的某些行

php - 为什么会出现此错误以及如何修复它?

linux - 进程smaps中 "Referenced"的含义

c - 如何编写一个内核模块来查找内核中的路由表和arp缓存?

linux - 获得/proc/pid/smaps 一致快照的正确方法是什么?