如何在Oracle表中插入/更新更大尺寸的数据?

Man*_*vel 14 oracle clob oracle10g

我想插入字符长度超过10,000的大尺寸数据.我在每列中使用了CLOB数据类型.我无法插入/更新它在错误后显示的大数据:

ORA-01704: string literal too long
Run Code Online (Sandbox Code Playgroud)

我的代码

 insert into table1 value(1,'values>10000'); 
Run Code Online (Sandbox Code Playgroud)

Sat*_*hat 22

您必须将值赋给变量并使用该变量来插入数据

DECLARE
    v_long_text CLOB;
BEGIN
    v_long_text := 'your long string of text';

    INSERT INTO table
    VALUES      (1,
                 v_long_text);
END; 
Run Code Online (Sandbox Code Playgroud)

为了说清楚:字符串有限制:

你不能有一个字符串文字

  • SQL中有4000个字节
  • PLSQL中的32k

如果你想超越这个,你将不得不使用绑定变量.

  • @JohnZabroski 如果你连接它们 - 你仍然会遇到问题,不是吗,因为这是变量本身的限制。我已经有大约五年没有接触 PL/SQL 了,所以我不能肯定地回答这个问题 (2认同)