我有一个列类型为LONG
的表。我知道我可以通过将列类型更改为CLOB
来解决我的问题,但在这种情况下我没有该选项。我需要将超过32k个字符的值插入此列。将超过32k字符的值插入到oracle的长列中
假设我有一张名为test的表,名为c1
的列为LONG
。
以下语句会产生错误。
insert into test(c1)values('string longer than 32k chars');
error:ORA-01704: string literal too long.
预先感谢任何帮助。
使用托尼的例子从下面我想要做的东西像下面这样:
declare
x varchar2(40000) := rpad('x',40000,'x');
begin
insert into test (c1) values (x);
end;
我知道你不能做VARCHAR(2)大,但我想锻炼的想法。
LONGs已弃用20年了吗?如果你仍然在数据库中困住他们,有人真的放弃了这个球。 – sstan
我不认为这是可能的与SQL。你会考虑编写一个最有可能用C语言编写的外部客户端,它可以使用旧的OCI API将这么多的数据插入到LONG中。 –
也许用这个作为更新LONG到CLOB的一个很好的理由? – tbone