Процедура для вставки в таблицу и ее столбцы по заданным параметрам? - PullRequest
1 голос
/ 03 февраля 2020

Я начну с некоторого кода ...

CREATE OR REPLACE PROCEDURE LOAD_IMAGE_INTO_TABLE (
    imgDir varchar2 
    , imgName varchar2
    , destTable varchar2
    , destIndex varchar2
    , destBlob varchar2)
 AS 
        fHnd            bfile;  
        b               blob;  
        srcOffset       integer := 1;  
        dstOffset       integer := 1;  
BEGIN
  dbms_lob.CreateTemporary( b, true );  
  fHnd := BFilename( imgDir, imgName );  
  dbms_lob.FileOpen( fHnd, DBMS_LOB.FILE_READONLY );  
  dbms_lob.LoadFromFile( b, fHnd, DBMS_LOB.LOBMAXSIZE, dstOffset, srcOffset ); 
  --insert into (Select * From user_tables Where table_name = destTable) values(imgName,b);
  --insert into destTable (destIndex, destBlob) values( imgName, b );  
  commit;  
  dbms_lob.FileClose( fHnd );  
END LOAD_IMAGE_INTO_TABLE;

Как вы можете видеть, я пытаюсь создать процедуру, которая помещает изображение в таблицу. Имя целевой таблицы и имена столбцов (для imgname и blobfile) будут заданы в качестве параметров.

Оба способа, которые я пробовал, не сработали. (см. --insert (...) в коде)

Может быть, у вас есть идеи, как решить эту проблему?

Заранее спасибо.

...