Oracle/SQL2018. 10. 15. 23:58

CLOB, BLOB 타입 열에 4000자 이상의 더미 데이터를 생성해보자.


예제를 위해 아래와 같이 테이블을 생성하자.
1
2
3
4
5
6
-- 1
DROP TABLE t_clob PURGE;
DROP TABLE t_blob PURGE;
 
CREATE TABLE t_clob (c1 CLOB);
CREATE TABLE t_blob (c1 BLOB);

4000자 이상의 CLOB 값을 생성하기 위해서는 TO_CLOB 함수를 사용해야 한다. BLOB 값은 XMLSERIALIZE 함수로 생성할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
-- 2
INSERT INTO t_clob
VALUES (TO_CLOB (LPAD ('X', 4000, 'X')) || LPAD ('X', 4000, 'X'));
 
INSERT INTO t_blob
VALUES (XMLSERIALIZE (CONTENT XMLTYPE (   TO_CLOB ('<x>')
                                       || LPAD ('X', 4000, 'X')
                                       || LPAD ('X', 4000, 'X')
                                       || '</x>')
                      AS BLOB));
 
COMMIT;

아래 쿼리로 4000자 이상의 더미 데이터가 생성된 것을 확인할 수 있다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-- 3
SELECT LENGTH (c1) AS c1 FROM t_clob;
 
  C1
----
8000
 
1개의 행이 선택되었습니다.
 
SELECT LENGTH (c1) AS c1 FROM t_blob;
 
  C1
----
8007
 
1개의 행이 선택되었습니다.


'Oracle > SQL' 카테고리의 다른 글

화물수량별 차등운임 계산  (0) 2018.12.27
XMLTABLE 함수로 DUMMY 데이터 생성  (0) 2018.12.17
NLS_DATE_FORMAT 파라미터와 데이터 변환  (0) 2018.09.01
날짜 기간 조회  (0) 2018.03.07
랜덤 Top-N 쿼리  (0) 2018.03.04
Posted by 정희락_