Oracle10g 在oracle中将数据插入到CLOB类型

Oracle10g 在oracle中将数据插入到CLOB类型,oracle10g,Oracle10g,我已经创建了一个表 create table test_clob( value clob ); 如果我尝试在数据大小大于4000字节的表上执行insert,则会出现以下错误 SQL Error: ORA-01704: string literal too long 01704. 00000 - "string literal too long" *Cause: The string literal is longer than 4000 characters. *Action:

我已经创建了一个表

create table test_clob(
  value clob
);
如果我尝试在数据大小大于4000字节的表上执行insert,则会出现以下错误

SQL Error: ORA-01704: string literal too long
01704. 00000 -  "string literal too long"
*Cause:    The string literal is longer than 4000 characters.
*Action:   Use a string literal of at most 4000 characters.
           Longer values may only be entered using bind variables.

我不知道如何使用绑定变量…

您可以使用to\u clob函数在oracle数据库中插入大文本。 例如:字符串的字符数超过4000个。然后 使用查询:

在tableName(fieldName)中插入值(to_clob('charCount=>4000')| | to_clob('4000 char之后但不超过4000')


例如:如果我有6000个字符,那么第一个是4000个字符,第二个是2000个字符:

LOB列中的NCLOB值或其他字符串转换为clob值。char可以是char、VARCHAR2、NCHAR、NVARCHAR2、CLOB或NCLOB等任意数据类型。这是Oracle关于的官方文档。要将数据插入CLOB列,请使用下面的查询

insert into tableName(
    column_name
) values (
    to_clob('charCount=>4000') || to_clob('after 4000 char but not more then 4000')
); 

您是如何尝试插入数据的?您使用什么语言/API与数据库交互?数据本身从何而来?我只是在sql developer上进行了实验。有没有一种方法可以使用sql和字符串文本来使用普通sql?不,不是真的。您可以使用PL/SQL和
DBMS\u LOB
包。最终我将在PL-SQL中使用它,谢谢justin