컴퓨터 Pro*C 에서 DBMS_STAT 사용하기
2007.12.06 14:14
DBMS_STAT 패키지는 일종의 오라클 내부의 프로시저라고 생각하면 된다.
따라서 Pro*C에서 Dynamic Query를 사용하지 않고 바로 EXEC SQL로 처리하려면
아래와 같이 EXECUTE를 쓰면 된다.
EXEC SQL EXECUTE
BEGIN
SYS.DBMS_STATS.GATHER_TABLE_STATS (
OwnName => 'OWNER'
,TabName => 'TABLE_NAME'
,PartName => 'PARTITION_NAME'
,Granularity => 'PARTITION'
,Estimate_Percent => 10
,Block_sample => TRUE
,Method_Opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO '
,Degree => 4
,Cascade => TRUE
,No_Invalidate => FALSE);
END;
END-EXEC;
Dynamic Query는 아래와 같은 방식으로 한다.
sprintf( sql_text,
" BEGIN \n
SYS.DBMS_STATS.GATHER_TABLE_STATS ( \n
OwnName => 'NACFCV' \n
,TabName => '%s' \n
,PartName => '%s' \n
,Granularity => 'PARTITION' \n
,Estimate_Percent => 10 \n
,Block_sample => TRUE \n
,Method_Opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO ' \n
,Degree => 4 \n
,Cascade => TRUE \n
,No_Invalidate => FALSE); \n
END;"
, table_name
, partition_name);
EXEC SQL EXECUTE IMMEDIATE :sql_text;
따라서 Pro*C에서 Dynamic Query를 사용하지 않고 바로 EXEC SQL로 처리하려면
아래와 같이 EXECUTE를 쓰면 된다.
EXEC SQL EXECUTE
BEGIN
SYS.DBMS_STATS.GATHER_TABLE_STATS (
OwnName => 'OWNER'
,TabName => 'TABLE_NAME'
,PartName => 'PARTITION_NAME'
,Granularity => 'PARTITION'
,Estimate_Percent => 10
,Block_sample => TRUE
,Method_Opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO '
,Degree => 4
,Cascade => TRUE
,No_Invalidate => FALSE);
END;
END-EXEC;
Dynamic Query는 아래와 같은 방식으로 한다.
sprintf( sql_text,
" BEGIN \n
SYS.DBMS_STATS.GATHER_TABLE_STATS ( \n
OwnName => 'NACFCV' \n
,TabName => '%s' \n
,PartName => '%s' \n
,Granularity => 'PARTITION' \n
,Estimate_Percent => 10 \n
,Block_sample => TRUE \n
,Method_Opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO ' \n
,Degree => 4 \n
,Cascade => TRUE \n
,No_Invalidate => FALSE); \n
END;"
, table_name
, partition_name);
EXEC SQL EXECUTE IMMEDIATE :sql_text;
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 | 추천 수 |
|---|---|---|---|---|---|
| 835 | 예송논쟁 | RanomA | 2003.01.14 | 3938 | 0 |
| 834 | 갑자사화와 연산군식의 개혁 | RanomA | 2003.01.14 | 2297 | 0 |
| 833 | 이인화와 영원한 제국 | RanomA | 2003.01.14 | 1636 | 0 |
| 832 |
이상한 신문...
| RanomA | 2003.01.14 | 1023 | 10 |
| 831 | 필요한 건 상상력과 꼼꼼함... 그리고 긴 호흡... | RanomA | 2003.02.02 | 1249 | 0 |
| 830 | 일단 1권 다 읽었음... | RanomA | 2003.02.03 | 1398 | 0 |
| 829 | 추가로 영화와 책의 차이점. | RanomA | 2003.02.04 | 1327 | 0 |
| 828 | 성종이 어우동에게 느꼈던 분노감 | RanomA | 2003.02.11 | 2450 | 0 |
| 827 | 비둘기 가족을 부른 이석이라는 사람... | RanomA | 2003.02.16 | 1571 | 0 |
| 826 | 대한민국의 맘에 안드는 점 하나... | RanomA | 2003.02.19 | 1284 | 0 |
| 825 | 저는 오늘 꽃을 받았어요. [3] | RanomA | 2003.02.23 | 1516 | 0 |
| 824 | 난방보다 냉방이 어려운 이유... | RanomA | 2003.02.24 | 1911 | 0 |
| 823 | 그들이 하고픈 말은... [1] | RanomA | 2003.03.04 | 1210 | 0 |
| 822 | 제로보드와 내 홈피 게시판의 차이... | RanomA | 2003.03.09 | 2271 | 0 |
| 821 |
자료실의 첨부파일 개수가 무한대로...
| RanomA | 2003.03.26 | 1157 | 0 |
| 820 | MySQL 백업관련 명령어 몇 개 | RanomA | 2003.03.28 | 1123 | 0 |
| 819 |
MySQL 매뉴얼
| RanomA | 2003.03.28 | 936 | 14 |
| 818 |
Informix FAQ for Monitor, Tune, Support
| RanomA | 2003.04.08 | 926 | 11 |
| 817 | '근로자의 날'보다는 '노동절'이라고 칭합시다. | RanomA | 2003.04.29 | 981 | 0 |
| 816 | 나이수~~~ 유시민~~~ [2] | RanomA | 2003.04.29 | 1047 | 0 |






