data count 스크립트 만들다 막히는 부분이 있어서 요청드립니다ㅜ 1 7 1,431

by 마스터아켄 [SQL Query] [2014.12.10 22:50:31]


안녕하세요. data count쿼리를 뽑기 위해서 아래와 같이 만들어보았습니다. 그런데 마지막에는 union all 이아닌 ;(세미콜론)을 넣어야 하는데요 case문을 참고해서 하면 된다고 하시는데 어떤식으로 넣어야할까요? 

select 'select '''||table_name||''', count(*) from ' || owner || '.'||table_name|| ' UNION ALL' 
from dba_tables where owner = 'HR';

결과 값 조회시 
select 테이블명, count(*) from union all
select 테이블명, count(*) from union all
select 테이블명, count(*) from union all
이런식으로 출력됩니다 
마지막 부분에 union all이 아닌 ; 으로 쿼리를 마무리하여
실행시키고 싶은데 어떻게 해야할까요?

by 마농 [2014.12.11 07:27:48]

Union All 을 앞에다 붙이는건 어때요?
DECODE(ROWNUM, 1, '', ' UNION ALL ') || 'select'
테이블 목록과 각 테이블별 레코드 건수 구하기


by 마스터아켄 [2014.12.11 09:36:28]

답변감사합니다. 그런데 이부분을 제가 만든 스크립트에서 어느부분에 넣어야할까요?

그리고 앞쪽에 Union all을 하게되면 마지막줄 끝에는 세미콜론(;)을 넣을려고 하는데 어떤식으로

해야할지 ㅜㅜ


by 마농 [2014.12.11 09:49:57]

마지막에 세미콜론(;) 붙이기는...

UNION ALL SELECT ';' FROM dual


by 마스터아켄 [2014.12.11 10:29:14]

죄송한데 제가 이해가 잘안되서요 ㅜㅜ

제가 올린 쿼리에서 어느부분에 추가를 해야할까요? 적용이 안되서


by 부쉬맨 [2014.12.11 10:54:35]
select 테이블명, count(*) from union all
select 테이블명, count(*) from union all
select 테이블명, count(*) from;

 


by 마농 [2014.12.11 10:55:25]
SELECT DECODE(ROWNUM, 1, '', 'UNION ALL ')
    || 'SELECT ''' || table_name || ''', COUNT(*) FROM ' || owner || '.' || table_name
    AS sql
  FROM dba_tables
 WHERE owner = 'HR'
 UNION ALL
SELECT ';'
  FROM dual
;

 


by 마스터아켄 [2014.12.11 11:08:43]

아그냥 뒤에.. 감사합니다 ㅜㅜ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입