테이블을 조회할때 '*' 를 사용할때도 있지만
컬럼명을 사용해서 조회를 해야할때가 있다
테이블에 컬럼수가 적을때는 텍스트를 입력해도 되지만
수십개 이상이 될때는 일일이 입력하기엔 시간이 많이든다
COLS 테이블에서 테이블에 존재하는 모든 컬럼을 조회하고
컬럼 아이디 순으로 출력해서 SELECT문을 만들어 주는 쿼리
--------------------------------------------------------------------
SELECT S.QUERY || ' ' || S.TNAME
FROM
(
SELECT 'SELECT '||SUBSTR(MAX( SYS_CONNECT_BY_PATH(A.COLUMN_NAME, ', ')), 2) || ' FROM' AS QUERY
, MAX(A.TNAME) AS TNAME
FROM
(
SELECT ROW_NUMBER() OVER(ORDER BY COLUMN_ID) AS RNUM
, TABLE_NAME AS TNAME
, COLUMN_NAME
FROM COLS
WHERE TABLE_NAME = 'REAL_TABLE_NAME'
) A
START WITH RNUM = 1
CONNECT BY PRIOR RNUM = RNUM - 1
)S;
--------------------------------------------------------------------
댓글 없음:
댓글 쓰기