개요
- 문자 데이터 타입 X
- 문자열, 숫자, 날짜, 2진 데이터 타입
컬럼명 RAW(크기)
(사용예)
CREATE TABLE TEMP07(
COL1 RAW(1000),
COL2 RAW(1000));
INSERT INTO TEMP07
VALUES(HEXTORAW('A5FC'),'1010010111111100'); --1010 A 0101 5 1111 F 1100 C
SELECT * FROM TEMP07;
컬럼명 BFILE
그림파일 저장순서
0)테이블 생성
CREATE TABLE TEMP08(
COL1 BFILE);
1)그림파일 저장
2)디렉토리객체 생성 --경로,파일명 절대경로 C:\\ , 상대경로 .나 ..부모
CREATE DIRECTORY 디렉토리별칭 AS '절대경로';
CREATE DIRECTORY TEST_DIR AS 'D:\WORK\Oracle';
3)데이터 삽입
INSERT INTO TEMP08
VALUES(BFILENAME('TEST_DIR', 'sample.jpg')); --BFILENAME함수
SELECT * FROM TEMP08;
컬럼명 BLOB
그림파일 저장순서
0)테이블생성
CREATE TABLE TEMP09(
COL1 BLOB);
1)익명블록(PL/SQL)작성 PL절차적언어/SQL
DECLARE --선언부
L_DIR VARCHAR2(20):='TEST_DIR';
L_FILE VARCHAR2(30):='sample.jpg';
L_BFILE BFILE;
L_BLOB BLOB;
BEGIN
INSERT INTO TEMP09(COL1) VALUES(EMPTY_BLOB()) --EMPTY로 컬럼 지움
RETURN COL1 INTO L_BLOB; --L_BLOB 값을 COL1에 할당하라
L_BFILE:=BFILENAME(L_DIR,L_FILE);
DBMS_LOB.FILEOPEN(L_BFILE,DBMS_LOB.FILE_READONLY); --B_FILE에 있는 데이터를 READONLY로 열어라
DBMS_LOB.LOADFROMFILE(L_BLOB,L_BFILE,DBMS_LOB.GETLENGTH(L_BFILE)); --B_FILE이 가지고 잇는 길이를 정해서 B_FILE에 있는 데이터를 꺼내 BOLB=DB안에저장
DBMS_LOB.FILECLOSE(L_BFILE);
COMMIT;
END;
SELECT * FROM TEMP09;
DROP TABLE TEMP01;
테이블 삭제