leeSQJ
80
2021-06-04 17:36:18
2
107

오라클 쿼리 질문 드립니다.


ALL_TAB_COLUMNS 에서 특정 컬럼을 가진 테이블을 조회 하고

그 테이블명에 대한 정보값을 받았을 때 인라인뷰나 서브쿼리를 사용하여 from절 뒤에  테이블명으로 사용할 수 있는 방법이 있을까요 ?


예시)

SELECT TABLE_NAME FROM (SELECT ROWNUM,ATC.* FROM ALL_TAB_COLUMNS ATC WHERE COLUMN_NAME LIKE '%유통%' AND ROWNUM = 1);


위에 쿼리문을 사용하면 "유통" 이라는 단어가 포함된 컬럼을 가진 테이블들을 조회하고 

rownum을 이용해서 첫번째 행에 해당하는 테이블 명만 출력됩니다. (하나의 행 리턴)


그럼 select * from (리턴된 테이블명) 으로 사용하는 방법이 없을까요 ??  


제 머리로는 아래처럼  사용하면 뭔가 되려나? 싶어서 해봤는데 역시 안되네요..

SELECT * FROM (SELECT TABLE_NAME FROM (SELECT ROWNUM,ATC.* FROM ALL_TAB_COLUMNS ATC WHERE COLUMN_NAME LIKE '%유통%' AND ROWNUM = 1));

 

글재주가 없어서 더 뚜렷하게 표현을 못하겠네요 ㅠㅠ

가독성 떨어지는 질문 봐주셔서 감사합니다. 

0
  • 답변 2

  • 성능최적화계획
    775
    2021-06-04 17:44:17

    오라클 문법이나 실행계획에 있어 저리 처리할 순 없을 거 같아요.


    다만 프로그래밍이라면 ibatis에서는 가능할 것으로 판단되네요

  • leeSQJ
    80
    2021-06-04 20:52:08

     답변 감사합니다 !

  • 로그인을 하시면 답변을 등록할 수 있습니다.