【问题标题】:How to bind a BLOB Variable to PL/SQL Block in Toad如何在 Toad 中将 BLOB 变量绑定到 PL/SQL 块
【发布时间】:2014-07-12 20:36:27
【问题描述】:

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

脚本如下所示:

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

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

【问题讨论】:

  • 我可以确认Toad 确实可以选择定义绑定变量的type(BLOB)
  • @Ravi。我不明白你的评论。你能解释一下吗?

标签: sql oracle plsql oracle11g blob


【解决方案1】:

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

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 文档了解其他可能性

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-07-18
    • 2012-05-07
    • 2013-05-29
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 2013-02-10
    相关资源
    最近更新 更多