1. 기타 자료형
1) RAW
- 상대적으로 작은 양의 2진 자료 저장
- 2000BYTE까지 자료저장
- 이미지 등의 자료를 정해 사용된다.
- 인덱스 처리 가능 ⇒ 사용 거의 안 함 사진 용량이 커서 부족하다.
( 사용 형식 )
컬럼명 RAW(크기)
2) LONG RAW
- 이진 자료 저장
- 2GB까지 저장 가능 / 인덱스 처리 불가능 ⇒ 사용 거의 안 함
- 기존의 자료형과 호환성을 위해 존치되고 있는 자료형
( 사용 형식 )
컬럼명 LONG RAW;
3) BFILE
- 이진 자료를 저장하고 처리
- 이진 자료(원본자료)를 데이터베이스 외부에 저장 ⇒ 외부에 저장된 디렉터리 반드시 지정
- 디렉터리 별칭은 30BYTE, 파일명은 256BYTE를 초과할 수 없음
( 사용 형식 )
컬럼명 BFILE;
예제)
1. 디렉터리 생성
CREATE DIRECTORY 별칭 AS '절대경로명';
CREATE DIRECTORY TEST_DIR AS 'D:\A_TeachingMaterial\2.Oracle\20200608';
2. 테이블 생성
CREATE TABLE TEMP09(
COL1 BFILE);
3. 그림파일 경로 저장(INSERT문 사용)
INSERT INTO TEMP09 VALUES(BFILENAME('TEST_DIR','pixabay.JPG'));
SELECT * FROM TEMP09;
4) BLOB
- 이진 자료를 저장하고 처리함
- 이진 자료(원본자료)를 데이터베이스 내부에 저장 ⇒ 사진자료들이 자주 변경되는 경우는 BFILE이 더 좋다
- 최대 4GB 자료 처리 가능
( 사용 형식 )
컬럼명 BLOB;
예제)
1. 테이블 생성
CREATE TABLE TEMP10(
COL1 BLOB);
2. 테이블에 그림파일을 삽입하는 익명 블록 작성
DECLARE
L_DIR VARCHAR2(50) := 'TEST_DIR';
L_FILE VARCHAR2(20) := 'pixabay.JPG';
L_BFILE BFILE;
L_BLOB BLOB;
BEGIN
INSERT INTO TEMP10 VALUES(EMPTY_BLOB())
RETURN COL1 INTO L_BLOB;
L_BFILE := BFILENAME(L_DIR,L_FILE);
DBMS_LOB.FILEOPEN(L_BFILE,DBMS_LOB.FILE_READONLY);
DBMS_LOB.LOADFROMFILE(L_BLOB,L_BFILE,DBMS_LOB.GETLENGTH(L_BFILE));
DBMS_LOB.FILECLOSE(L_BFILE);
COMMIT;
END;
(확인)
SELECT * FROM TEMP10; --디스플레이 하는것은 오라클에서는 할수없다.
'데이터베이스 > ORACLE' 카테고리의 다른 글
10. 연산자 ( OPERATION ) (0) | 2021.03.16 |
---|---|
9. SELECT (0) | 2021.03.15 |
7. 날짜형 ( DATE ) (0) | 2021.03.15 |
6. 숫자형 ( NUMBER ) (0) | 2021.03.15 |
5. 문자열 ( VARCHAR, CLOB ) (0) | 2021.03.15 |