oracle 11gでデータベースを設計しています。フィールドを持つテーブルを設計しましたが、
CUST_ID, NUMBER(5) //this is a foreign key
Review, BLOB //to store big strings
Date, SYSDATE
今のようにテーブルにデータを挿入しようとしているとき-
insert into "ReviewTable" values ( 3, 'hello, this is the first review',SYSDATE)
[Err] ORA-01465:16進数が無効です。誰かがエラーで私を助けることができるなら?
文字列をBLOBにキャストするには、パッケージ_utl_raw.cast_to_raw
_を使用してこれを行うか、to_clob('mystring')
を使用してvarcharをclobに変換してから、コードでプロシージャ_DBMS_LOB.convertToBlob
_を使用します。
しかし、文字列にフィールドを使用する場合、なぜそれらをCLOBとして保存しないのですか?
以下に、BLOBおよびCLOBフィールドを使用した2つの例を示します。
[〜#〜] blob [〜#〜]
_create table ReviewTable( CUST_ID NUMBER(5)
,Review BLOB
,Dt Date);
insert into ReviewTable values ( 3, utl_raw.cast_to_raw('hello, this is the first review'),SYSDATE);
_
[〜#〜] clob [〜#〜]
_create table ReviewTable2( CUST_ID NUMBER(5)
,Review CLOB
,Dt Date);
insert into ReviewTable2 values ( 3, 'hello, this is the first review',SYSDATE);
_