Background Image
질의작성
2020.05.13 09:21

VALUES 절 활용하기

조회 수 821 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

UNION ALL 질의문을 400개를 초과해 사용할 경우 다음과 같이 에러가 출력된다.

- ERROR: The query has been rejected due to attempt to exceed the maximum allowed nesting level(400).

UNION ALL을 대신하여 VALUES 절을 활용하여 UNION ALL 질의문을 단순하게 표현할 수 있다. 


[테스트]

create table tmp as (select level as lv from db_root connect by level <= 2000);

alter table tmp add primary key (lv);


SELECT /*recompile*/ * 

FROM tmp a 

JOIN(

SELECT 1 AS col1, 'first' AS col2

UNION ALL

SELECT 2, 'a'

UNION ALL

SELECT 3, 'a'

UNION ALL

...

SELECT 1001, 'a'

UNION ALL

SELECT 1002, 'a'

) b ON b.col1 = a.lv;


위와 같이 UNION ALL 문을 400개 이상 사용할 수 없는 질의를 VALUES문을 활용하여 아래와 같이 사용할 수 있다.

SELECT /* recompile */ *

FROM tmp a

JOIN (

           VALUES (1 AS col1,'first' AS col2),

(2        ,'a'),

(3        ,'a'),

...

(1001   ,'a'),

        (1002   ,'a')

) b ON b.col1 = a.lv;


  trace               

======================

Trace Statistics:

  SELECT (time: 7, fetch: 2005, ioread: 0)

    SCAN (temp time: 0, fetch: 0, ioread: 0, readrows: 1002, rows: 1002)

      SCAN (index: tmp.pk_tmp_lv), (btree time: 5, fetch: 2004, ioread: 0, readkeys: 1002, filteredkeys: 0, rows: 1002, covered: true)

    SUBQUERY (uncorrelated)

      SELECT (time: 0, fetch: 0, ioread: 0)

        SCAN (noscan time: 0, fetch: 0, ioread: 0)


관련 내용 메뉴얼 URL : https://www.cubrid.org/manual/ko/9.3.0/sql/query/select.html#values


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
16 응용개발 CUBRID R3.0부터 JDBC를 사용하는 응용에서 charset 설정 방법이 변경되었네요. 손승일 2010.12.02 19635
15 응용개발 CUBRID에서 SQL힌트와 주석을 쓸 때 순서. cubebridge 2012.01.11 13328
14 응용개발 Weblogic 10.0 사용시 JDK 1.5를 사용한 JDBC 드라이버 사용시 주의사항. cubebridge 2012.02.22 51957
13 응용개발 utf-8로 저장된 한글이 JAVA SP를 사용하여 읽어 오면 깨져 보일때 손승일 2012.03.10 20801
12 응용개발 오라클 to CUBRID로 마이그레이션 수행 시 주의사항 cubebridge 2012.11.12 16642
11 응용개발 CUBRID-PHP-Driver 연동가이드 file cubebridge 2012.11.13 17136
10 응용개발 전체 레코드 개수 확인하는 SP 김승훈 2015.05.07 14728
9 응용개발 JAVA SP 사용 시 로그 처리 방법 손승일 2015.06.03 8574
8 응용개발 WHERE 조건에서 다중 컬럼 IN절 처리 최적화 방법 (cubrid + ibatis) 1 이상신 2015.08.21 55143
7 응용개발 maven에서 CUBRID JDBC Driver 추가하기 file 김승훈 2015.12.09 8947
6 응용개발 CUBRID HA 제약 사항 및 확인 방법 손승일 2015.12.29 5305
5 응용개발 CUBRID DB에서 critical section 정보 출력하기 file 주현 2015.12.31 4607
4 응용개발 Windows에서 32bit 버전의 PHP 설치 후 CUBRID와 연동 실패 시 해결 방법 file 진우진 2016.03.28 4525
3 응용개발 Windows 환경에서 JAVA SP 사용 utf-8 한글 깨짐 해결 file 손승일 2016.07.01 4593
2 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 2804
1 응용개발 CUBRID PHP 드라이버 빌드와 연동방법 정만영 2018.03.07 3772
Board Pagination Prev 1 2 3 Next
/ 3

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales