当前位置: 首页 > 知识库问答 >
问题:

Oracle CLOB不能插入超过4000个字符?

艾谦
2023-03-14

如何向CLOB类型列插入超过4000个字符?

--create test table s
create table s
(
      a clob
);
insert into s values('>4000 char')

导致错误:

ORA-01704:字符串太长。

当我阅读Oracle参考时,clob可以最大节省4GB(千兆字节)?

共有1个答案

纪勇军
2023-03-14
  • 将长字符串拆分为4000个字符或更少的块
  • 使用to_clob()函数为每个块创建CLOB
  • 连接CLOB

下面是一个例子:

insert into <table> (clob_column)
  values
  (
      to_clob(' <=4000 symbols ')
    ||to_clob(' <=4000 symbols ')
    ||to_clob(' <=4000 symbols ')
    ...
    ||to_clob(' <=4000 symbols ')
  );
 类似资料:
  • 首先为我的英语感到抱歉。 我试图插入大约15000行,问题是有一个CLOB类型的列可能有超过4000个字符,给出错误ORA-01704,我知道如何像这样一个接一个地插入:TO_CLOB(string)TO_CLOB(string)并且它工作,但是我有大约1000个这样的情况发生,我不想手动执行,你能想到什么方法来插入它们? 谢谢你。

  • 是否可以使用通用sql将超过4000个字符的字符串插入CLOB 新增列: 我必须用SQL插入它 请指教。

  • 你能告诉我如何解决这个问题吗?

  • 问题内容: 我不确定如何使用Java / JDBC在Oracle数据库中插入一个很长的字符串。 我有一个字符串,该字符串大于4000个字符,可以说是6000个字符。我想将此字符串存储在Oracle数据库中。 执行此操作的方法似乎是使用CLOB数据类型。好的,因此我将该列声明为描述CLOB。 现在,当需要实际插入数据时,我有一个准备好的语句pstmt。看起来像。 所以我想用这个方法。但是,我不知道如

  • 我正在用RSA私钥加密我的对称密钥(AES),并用我的公钥解密它。 但是,当我加密数据时,字节长度是16字节,然而,当我解密数据时,它抛出了受影响的错误,解密时字节数据的长度是344。

  • 问题内容: 我需要优化由域实体上的保存(插入查询)产生的查询。我已经使用Fluent NHibernate配置了NHibernate。 这是NHibernate在插入用户对民意调查的响应期间生成的查询: 如果观察的输入参数 和 ,将会注意到,NHibernate的使用 。问题是,远远大于我需要或者或并且由于高流量和托管的要求,我需要优化内存使用情况的数据库。 这是这些列的Fluent NHiber