Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Como inserir uma imagem na coluna BLOB na tabela Oracle usando a sintaxe INSERT?


Em primeiro lugar, crie um diretório para armazenar imagens e conceda permissão de leitura e gravação ao usuário. Então você pode usar a função BFILENAME para inserir a imagem.
SQL> conn / as sysdba

SQL> create directory image_dir as '/home/oracle/Desktop/';

Directory created.

SQL> grant read, write on directory image_dir to jay;

Grant succeeded.

SQL> conn jay  
Enter password: 
Connected.
SQL> CREATE TABLE test(id number, image blob);

Table created.

Agora, para armazenar a imagem dada, pode-se usar a seguinte instrução de inserção.
[[email protected] Desktop]$ ls -l | grep abc
-rw-r--r-- 1 oracle oinstall   269748 Apr 16 01:23 abc.png


SQL> INSERT INTO test VALUES(1,bfilename('IMAGE_DIR','abc.png'));

1 row created.

Referência: BFILENAME