Oracle 8i | Oracle 9i | Oracle 10g | Oracle 11g | Oracle 12c | Miscellaneous | PL/SQL | SQL | Oracle RAC | Oracle Apps | Linux

Import CLOB Contents

Related articles.

The following article presents a simple methods for importing a file into a CLOB datatype. First a directory object is created to point to the relevant filesystem directory.

CREATE OR REPLACE DIRECTORY documents AS 'C:\';

Next we create a table to hold the CLOB.

CREATE TABLE tab1 (
  id        NUMBER,
  clob_data CLOB
);

We import the file into a CLOB datatype and insert it into the table.

DECLARE
  l_bfile  BFILE;
  l_clob   CLOB;
BEGIN
  INSERT INTO tab1 (id, clob_date)
  VALUES (1, empty_clob())
  RETURN clob_data INTO l_clob;

  l_bfile := BFILENAME('DOCUMENTS', 'Sample.txt');
  DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
  DBMS_LOB.loadfromfile(l_clob, l_bfile, DBMS_LOB.getlength(l_bfile));
  DBMS_LOB.fileclose(l_bfile);

  COMMIT;
END;
/

To update an existing CLOB do the following.

DECLARE
  l_bfile  BFILE;
  l_clob   CLOB;
BEGIN
  SELECT clob_data
  INTO   l_clob
  FROM   tab1
  WHERE  id = 1
  FOR UPDATE;

  l_bfile := BFILENAME('DOCUMENTS', 'Sample.txt');
  DBMS_LOB.fileopen(l_bfile, DBMS_LOB.file_readonly);
  DBMS_LOB.loadfromfile(l_clob, l_bfile, DBMS_LOB.getlength(l_bfile));
  DBMS_LOB.fileclose(l_bfile);
END;
/

For more information see:

Hope this helps. Regards Tim...

Back to the Top.