Background Image

FORUM

2019.05.23 10:09

뷰테이블 select 오류

조회 수 786 추천 수 0 댓글 3
?

단축키

Prev이전 문서

Next다음 문서

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

* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
OS
Window10
CUBRID Ver.
8.4.4.10001
CUBRID TOOL Ver.
10.1.0003
응용 환경(API)
java

* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축

-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
CREATE OR REPLACE VIEW jnitmenu_vt(
menu_seq integer default 0,
site_nm character varying(50),
menu_depth1 character varying(50),
menu_depth2 character varying(50),
menu_depth3 character varying(50),
menu_depth4 character varying(50),
menu_depth5 character varying(50),
menu_depth6 character varying(50),
menu_depth7 character varying(50),
menu_url character varying(1),
menu_dept character varying(100),
menu_part character varying(200),
menu_tel character varying(20),
menu_memid character varying(20),
[method] character varying(1))
    AS 
select [b].[MENU_SEQ], [a].[SITE_NM], [a].[MENU_DEPTH1], [a].[MENU_DEPTH2], [a].[MENU_DEPTH3], [a].[MENU_DEPTH4], [a].[MENU_DEPTH5], [a].[MENU_DEPTH6],
 [a].[MENU_DEPTH7], [a].[MENU_URL], [b].[MENU_DEPT], [b].[MENU_PART], [b].[MENU_TEL], [b].[MENU_MEMID], [a].[METHOD] 
 from [jnitcmsmenu_vt] [a] left outer join [jnitmenu] [b] on ( cast([b].[MENU_URL] as varchar(255) )=[a].[MENU_URL])
  where (([a].[ISCNT]= cast(1 as varchar )) and ([a].[ISDEL]= cast(0 as varchar ))) 
  order by [a].[SITE_ID], 15, [a].[DEPTH];

위 쿼리로 view 테이블을 생성하였습니다.

jnitcmsmenu_vt 는 또다른 view 테이블이고
jnitmenu 는 실제 테이블입니다.

상단에 select 문만 실행해보면

select [b].[MENU_SEQ], [a].[SITE_NM], [a].[MENU_DEPTH1], [a].[MENU_DEPTH2], [a].[MENU_DEPTH3], [a].[MENU_DEPTH4], [a].[MENU_DEPTH5], [a].[MENU_DEPTH6],
 [a].[MENU_DEPTH7], [a].[MENU_URL], [b].[MENU_DEPT], [b].[MENU_PART], [b].[MENU_TEL], [b].[MENU_MEMID], [a].[METHOD] 
 from [jnitcmsmenu_vt] [a] left outer join [jnitmenu] [b] on ( cast([b].[MENU_URL] as varchar(255) )=[a].[MENU_URL])
  where (([a].[ISCNT]= cast(1 as varchar )) and ([a].[ISDEL]= cast(0 as varchar ))) 
  order by [a].[SITE_ID], 15, [a].[DEPTH];

MENU_SEQ SITE_NM MENU_DEPTH1 MENU_DEPTH2 MENU_DEPTH3 MENU_DEPTH4 MENU_DEPTH5 MENU_DEPTH6 MENU_DEPTH7 MENU_URL MENU_DEPT MENU_PART MENU_TEL MENU_MEMID METHOD
NULL 북방경제협력위원회 include header NULL NULL NULL NULL NULL / NULL NULL NULL NULL 0
NULL 북방경제협력위원회 include sidebar NULL NULL NULL NULL NULL / NULL NULL NULL NULL 0
NULL 북방경제협력위원회 include footer NULL NULL NULL NULL NULL / NULL NULL NULL NULL 0
NULL 북방경제협력위원회 소개・홍보 위원장 인사말 NULL NULL NULL NULL NULL / NULL NULL NULL NULL 0
NULL 북방경제협력위원회 소개・홍보 위원회의 역할 NULL NULL NULL NULL NULL / NULL NULL NULL NULL 0


이런식으로 제대로 결과는 나옵니다.


크리에이트 문의 경우에도 

1번째 질의 CREATE 작업 완료. [0.017 초]

메시지가 뜨면서 view 테이블이 제대로 만들어졌다는 표시가 나옵니다. 

그런데 

SELECT COUNT(*) totcnt    FROM JNITMENU_VT    WHERE 1=1       

쿼리를 실행해보면 

실행 오류 : -494

Semantic: There are more columns in the query specification than attributes in class jnitmenu_vt. select count(*) from JNITMENU_VT JNITMENU_VT where (1=1)

이런 메시지가 뜨면서 select 가 되지 않고 있습니다.

이런 현상을 어떻게 해결해야 하나요?


  • ?
    권호일 2019.05.23 14:36
    뷰테이블을 사용하지 말고 원본테이블을 사용해서 해보시기 바랍니다.

    예시)
    SELECT count(*)
    from (
    select [b].[MENU_SEQ], [a].[SITE_NM], [a].[MENU_DEPTH1], [a].[MENU_DEPTH2], [a].[MENU_DEPTH3], [a].[MENU_DEPTH4], [a].[MENU_DEPTH5], [a].[MENU_DEPTH6],
    [a].[MENU_DEPTH7], [a].[MENU_URL], [b].[MENU_DEPT], [b].[MENU_PART], [b].[MENU_TEL], [b].[MENU_MEMID], [a].[METHOD]
    from [jnitcmsmenu_vt] [a] left outer join [jnitmenu] [b] on ( cast([b].[MENU_URL] as varchar(255) )=[a].[MENU_URL])
    where (([a].[ISCNT]= cast(1 as varchar )) and ([a].[ISDEL]= cast(0 as varchar )))
    order by [a].[SITE_ID], 15, [a].[DEPTH] ) T1
    where 1 = 1
  • ?
    한넷개발자 2019.05.23 15:10
    원본테이블을 사용해서는 제대로 된 결과가 나오고 있습니다.
    그런데 반드시 뷰테이블을 사용해야만 하는 경우라서요
    뷰테이블에 접근이 불가능 하니 미치겠습니다.
  • ?
    허서진 2019.05.23 15:37
    안녕하세요. 큐브리드를 이용해주셔서 감사합니다.
    현재 발생하는 이슈는 A테이블에 대한 order by 구문 수행 시 select list에 없는 컬럼에 대해 order by 명령이 수행되면서 해당 컬럼을 찾을 수 없다는 메시지가 발생하는 것으로 보입니다.
    해당 컬럼을 select list에 추가해 주시거나, 인라인 뷰로 한번 묶은 뒤 추려내는 방식으로 수정하시면 정상적으로 사용하실 수 있을 것으로 생각됩니다.
    가능 하시다면 아래와 같이 수행해 보시는 것을 권장드립니다.

    CREATE OR REPLACE VIEW jnitmenu_vt(
    menu_seq integer default 0,
    site_nm character varying(50),
    menu_depth1 character varying(50),
    menu_depth2 character varying(50),
    menu_depth3 character varying(50),
    menu_depth4 character varying(50),
    menu_depth5 character varying(50),
    menu_depth6 character varying(50),
    menu_depth7 character varying(50),
    menu_url character varying(1),
    menu_dept character varying(100),
    menu_part character varying(200),
    menu_tel character varying(20),
    menu_memid character varying(20),
    [method] character varying(1),
    site_id int,
    [depth] varchar)
    AS
    select[b].[MENU_SEQ], [a].[SITE_NM], [a].[MENU_DEPTH1], [a].[MENU_DEPTH2], [a].[MENU_DEPTH3], [a].[MENU_DEPTH4], [a].[MENU_DEPTH5], [a].[MENU_DEPTH6],
    [a].[MENU_DEPTH7], [a].[MENU_URL], [b].[MENU_DEPT], [b].[MENU_PART], [b].[MENU_TEL], [b].[MENU_MEMID], [a].[METHOD] , [a].[SITE_ID], [a].[DEPTH]
    from [jnitcmsmenu_vt] [a] left outer join [jnitmenu] [b] on ( cast([b].[MENU_URL] as varchar(255) )=[a].[MENU_URL])
    where (([a].[ISCNT]= cast(1 as varchar )) and ([a].[ISDEL]= cast(0 as varchar )))
    order by [a].[SITE_ID], 15, [a].[DEPTH];

  1. No Image notice by admin 2024/04/23 by admin
    Views 31 

    CUBRID 사용자를 위한 DBeaver 도구 출시 안내

  2. SQLGate for CUBRID 영구 무료 라이선스 제공

  3. Cubrid Replica 구성 및 기타 에러 관련 문의드립니다.

  4. 큐브리드 포트포워딩 질문입니다..

  5. 오라클 ==> cubrid로 마이그레이션 시 데이터 누락

  6. 뷰테이블 select 오류

  7. 실행 오류 : -1016 문의드립니다.

  8. ORDER BY ** ASC 조건과 offset 조건이 같이 있을 경우 발생되는 오류 문의

  9. demodb에 데이터볼륨을 추가하려는데 에러가 발생해서 질문드립니다.

  10. Cubrid문제

  11. 패스워드 암호화 알고리즘

  12. ORACLE의 DBMS_XMLGEN.GETXMLTYPE를 CUBRID 변형 방법 요청

  13. HA 구성에서 로그 삭제 방법

  14. 계정 패스워드 암호화 방식 sha-2 지원 여부

  15. 큐브리드 가져오기 질문입니다.

  16. 큐브리드 구조 문의 드립니다.

  17. DB삭제 오류 관련 문의

  18. 마스터 서버가 갑자기 죽어버렸습니다

  19. Cubrid 2008 R2.2

  20. 엑셀파일로 데이터넣을때 질문입니다

  21. 문의드립니다.

  22. 클라우드 환경에서 cubird server 비정상 동작함.

Board Pagination Prev 1 ... 46 47 48 49 50 51 52 53 54 55 ... 200 Next
/ 200

Contact Cubrid

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