2012年12月11日火曜日

ORA-01704に、悩まされた時の対処方法

NCLOBへのインサート時に「ORA-01704: 文字列リテラルが長すぎます」が出た場合の対処方法。

下のコードのように、PL/SQLにして文字リテラルをCLOB型の変数に直接突っ込んであげるとエラーが回避できるみたい。
declare
  data nclob;
begin
  data := '長い文字列';
  insert into test values (data);
end;
/