この質問のフォローアップとして、次のシナリオについてサポートが必要です。
Oracle では、単純なデータ テーブルが与えられます。
create table data (
id VARCHAR2(255),
key VARCHAR2(255),
value CLOB);
次のマージ コマンドを使用しています。
merge into data
using (
select
? id,
? key,
? value
from
dual
) val on (
data.id=val.id
and data.key=val.key
)
when matched then
update set data.value = val.value
when not matched then
insert (id, key, value) values (val.id, val.key, val.value);
Java アプリケーションから JDBC 経由でクエリを呼び出しています。
「値」文字列が大きい場合、上記のクエリを実行すると、次の Oracle エラーが発生します。
ORA-01461: cannot bind a LONG value for insert into a long column
ここに記載されているように、「SetBigStringTryClob」プロパティを設定しても同じ結果が得られます。
「値」がCLOBであることを考えると、私が望む動作を達成することは可能ですか?
編集: クライアント環境は Java です