0

オラクルビューにブロブを挿入する必要があります。この場合、return 句でこの EMPTY_BLOB() を使用する機会はありません。次のように: "Insert into table (a,b,c) values (a,b, EMPTY_BLOB()) RETURNING c into :photo" RETURING はt work in views I need a method to create empty blob before inserting data, but i donPDO でそれを行う方法を知らないためです。

ありがとう!

4

1 に答える 1

1

ORA DBに接続されたPHPで、最近、挿入に関する問題を解決しました。挿入はCLOB同じように処理する必要があります。

私の場合、データを文字として挿入するだけで十分でしたが、バインド時に文字の長さをバインドの長さとして設定しました。ただし、 :TO_BLOB()にキャストされた入力を必要とする関数を使用してみることができます。RAW

INSERT INTO my_blob_table (my_blob_column) VALUES (TO_BLOB(UTL_RAW.CAST_TO_RAW('some binary data as string')))

または、ユニバーサルTO_LOB()が機能する必要があります(ソース/ターゲット列に変換CLOBまたはBLOB依存します):

INSERT INTO my_blob_table (my_blob_column) VALUES (TO_LOB('some binary data as string'))

編集:グーグルを使用して、私はこれらがうまくいくはずだとわかりました:

  • long変換したい列がある場合clob/blob
create table t1 (id int, my_blob blob);
create table t2 (id int, my_long long);
insert into t2 values (1, rpad('*',4000,'*'));
insert into t1 select id, to_lob(my_long) from t2;
  • long raw変換したい列がある場合blob
create table t1 (id int, my_blob blob);
create table t2 (id int, my_long_raw long raw);
insert into t2 values (1, rpad('*',4000,'*'));
insert into t1 select id, to_blob(my_long_raw) from t2;

それはうまくいくはずです...ここここを参照してください。

于 2012-06-13T10:27:41.693 に答える