3

テキスト情報を clob フィールドにロードしようとしています。問題のあるコードを次のスニペットに減らしました。

DECLARE
    WS_MAIN_CHUNK RAW(12001);
BEGIN
    WS_MAIN_CHUNK := 'Do';
END;
/

エラーORA-06512 PL/SQL: numeric or value error: hex to raw conversion error が表示されます。文字列 'Do' が 16 進値である理由と、それを修正するにはどうすればよいですか? -> 文字列を raw 変数に割り当てるだけですか?

助けてくれてありがとう

4

1 に答える 1

8

Oracle では、RAWデータ型は、バイナリ データおよびバイト指向のデータを格納するために使用されます。RAWデータ型の変数に文字列値を直接代入することはできません。そのような必要がある場合は、utl_rawパッケージとcast_to_raw関数を使用してそれを行うことができます。

SQL> DECLARE
  2      WS_MAIN_CHUNK raw(12001);
  3  BEGIN
  4      WS_MAIN_CHUNK :=  utl_raw.cast_to_raw('Do');
  5  END;
  6  /

PL/SQL procedure successfully completed
于 2012-11-20T11:19:26.937 に答える