Oracle PL/SQL/Large Objects/Insert

Материал из SQL эксперт
Перейти к: навигация, поиск

LOB manipulations using DML statements.

   <source lang="sql">

SQL> SQL> set serveroutput on SQL> SQL> SQL> CREATE TABLE lobdemo (

 2    key NUMBER PRIMARY KEY,
 3    clob_col  CLOB,
 4    blob_col  BLOB,
 5    bfile_col BFILE
 6  );

Table created. SQL> SQL> INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)

 2    VALUES (50, "This is a character literal",
 3                 HEXTORAW("FEFEFEFEFEFEFEFEFEFE"),
 4                 NULL);

1 row created. SQL> SQL> INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)

 2    VALUES (51, "This is another character literal",
 3                 HEXTORAW("ABABABABABABABABABAB"),
 4                 NULL);

1 row created. SQL> SQL> drop table lobdemo; Table dropped. SQL>

</source>
   
  


Use "Insert ... select" statement with CLOB, BLOB and BFILE

   <source lang="sql">

SQL> SQL> SQL> CREATE TABLE lobdemo (

 2    key NUMBER PRIMARY KEY,
 3    clob_col  CLOB,
 4    blob_col  BLOB,
 5    bfile_col BFILE
 6  );

Table created. SQL> SQL> INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)

 2    VALUES (50, "This is a character literal",
 3                 HEXTORAW("FEFEFEFEFEFEFEFEFEFE"),
 4                 NULL);

1 row created. SQL> SQL> INSERT INTO lobdemo (key, clob_col, blob_col, bfile_col)

 2    VALUES (51, "This is another character literal",
 3                 HEXTORAW("ABABABABABABABABABAB"),
 4                 NULL);

1 row created. SQL> SQL> SQL> INSERT INTO lobdemo

 2    SELECT key + 10, clob_col, blob_col, NULL
 3      FROM lobdemo
 4      WHERE key IN (50, 51);

2 rows created. SQL> SQL> drop table lobdemo; Table dropped. SQL>

</source>