如何将BLOB变量绑定到Toad中的PL / SQL块

时间:2014-05-23 13:01:53

标签: sql oracle plsql oracle11g blob

我想通过存储过程将图片加载到oracle数据库(11g)。

脚本看起来像这样:

declare 
  v_content BLOB;
begin
  v_content := :bind_variable;
  some_procedure(v_content);
end;

我尝试使用Toad和SQL Developer,我没有选择BLOB类型的选择。 有任何想法吗?我也愿意在我的本地计算机上而不是在数据库服务器上加载文件中的内容。

1 个答案:

答案 0 :(得分:0)

我想你会想做这样的事情吗?

CREATE TABLE lob_table (id NUMBER, doc BLOB);
INSERT INTO lob_table VALUES (1, EMPTY_BLOB()); 

DECLARE
  src_lob  BFILE := BFILENAME('MY_DIR', '/tmp/me.gif');
  dest_lob BLOB;
BEGIN
  INSERT INTO lob_table VALUES(2, EMPTY_BLOB())
     RETURNING doc INTO dest_lob;

  DBMS_LOB.OPEN(src_lob, DBMS_LOB.LOB_READONLY);
  DBMS_LOB.LoadFromFile( DEST_LOB => dest_lob,
                         SRC_LOB  => src_lob,
                         AMOUNT   => DBMS_LOB.GETLENGTH(src_lob) );
  DBMS_LOB.CLOSE(src_lob);

  COMMIT;
END;
/

结帐 - https://community.oracle.com/thread/2400953?tstart=0 或者查看oracle文档以了解其他可能性