프로시저로 테이블을 셀렉팅을 해야 하는데요
테이블 명 규칙이, 테이블명_[년(YYYY)][월(MM)][순번] 으로 되어 있고,
컬럼중에 데이트 형식의 저장된 값이 존재하고 이 값을 기준으로 테이블에 데이터가 생성됩니다
예를 들면, 7일마다 테이블 명 규칙이 변경되는데요 ...
2010년 1월 1일 ~1월7일 날자까지 데이터는, ABC_2010011 테이블,
2010년 1월 8일~1월14일까지 데이터는, ABC_2010012 테이블,
2010년 1월 15일~1월21일까지 데이터는, ABC_2010013 테이블,
2010년 1월 22일~1월28일까지 데이터는, ABC_2010014 테이블,
2010년 1월 29일~1월31일까지 데이터는, ABC_2010015 테이블에 저장되어 있습니다
데이터를 현재 일자를 기준으로 셀렉팅을 해서 카운팅 후,
다른 테이블에 결과값을 인서트 해야하는데 테이블이 위와 같은 규칙으로 되어 있어서 ..아무리 해도 셀렉팅이 힘드네요 ㅜㅜ
어찌해야 할까요 (__
DECLARE v_sql VARCHAR2(1000); BEGIN v_sql := 'INSERT INTO target(c1, c2, c3, ...) '; v_sql := v_sql || ' SELECT c1, c2, c3, ... '; v_sql := v_sql || ' FROM abc_' || TO_CHAR(sysdate, 'yyyymmw'); v_sql := v_sql || ' WHERE ... '; v_sql := v_sql || ' AND dt >= TRUNC(sysdate) '; EXECUTE IMMEDIATE v_sql; COMMIT; END; /