我有一個列類型爲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