Background Image
질의작성
2020.05.13 09:21

VALUES 절 활용하기

조회 수 814 추천 수 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
번호 분류 제목 글쓴이 날짜 조회 수
19 질의작성 입력된 년월 또는 두개의 날짜을 이용하여 달력 및 주차 구하기 1 성진 2016.08.10 5575
18 응용개발 CUBRID 와 DBCP의 관계 엄기호 2016.12.14 2792
17 기타 Tomcat's JDBC Pool 사용 시 JNDI DataSource 설정 손승일 2016.12.16 6495
16 기타 JBoss 사용 시 statement pooling 설정 손승일 2016.12.16 2923
15 기타 Oracle import 시 character set 변경관련 김창휘 2016.12.26 8678
14 질의작성 subquery를 이용한 튜닝예제 file 김창휘 2016.12.27 3322
13 질의작성 UPDATE에서 조인을 통해, 결과값 수정하는 방법 박동윤 2016.12.27 7173
12 질의작성 CONNECT BY 절 포함 질의 튜닝 예제 박세훈 2017.02.28 9752
11 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2161
10 질의작성 loose index scan을 활용한 효과적인 쿼리 튜닝 방안 박세훈 2017.06.01 2409
9 질의작성 테이블 명세서 쿼리 1 성진 2017.08.04 3165
8 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2227
7 질의작성 JAVA_SP를 이용해서 정규표현식을 이용해서 치환을 하자. file 성진 2017.10.10 1324
6 응용개발 CUBRID PHP 드라이버 빌드와 연동방법 정만영 2018.03.07 3763
5 질의작성 입력된 날자를 이용하여 해당 주차의 모든 날자 구하기 성진 2018.04.10 1108
4 질의작성 여러개의 컬럼을 하나로 묶어주는 함수 CONCAT_WS 사용방법 엄기호 2019.01.29 7218
3 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2366
» 질의작성 VALUES 절 활용하기 황영진 2020.05.13 814
1 질의작성 synonym에 대하여 김민종 2023.09.07 256
Board Pagination Prev 1 ... 5 6 7 8 9 10 11 12 13 14 Next
/ 14

Contact Cubrid

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