zoukankan      html  css  js  c++  java
  • 待研究NC的过程procedure

    CREATE OR REPLACE PROCEDURE ANALYZE_TB AS
    
    OWNER_NAME VARCHAR2(100);
    V_LOG INTEGER;
    V_SQL1 VARCHAR2(800);
    V_TABLENAME VARCHAR2(50);
    
    CURSOR CUR_LOG IS
    SELECT COUNT(TABLE_NAME) FROM USER_TABLES WHERE TABLE_NAME='ANALYZE_LOG';
    --add delete tmp statistics for 9i
    CURSOR CUR_TABLE_TEMP IS
    SELECT TABLE_NAME FROM USER_TABLES WHERE temporary='Y';
    
    --1
    
    BEGIN
    
    --DBMS_OUTPUT.ENABLE (buffer_size=>100000);
    --1.1
    BEGIN
    OPEN CUR_LOG;
    FETCH CUR_LOG INTO V_LOG;
    IF V_LOG=0 THEN
    EXECUTE IMMEDIATE 'CREATE TABLE ANALYZE_LOG (USER_NAME VARCHAR(20),OP_TIME CHAR(19) DEFAULT to_char(sysdate,''yyyy-mm-dd hh24:mi:ss''),ERROR_TEXT VARCHAR(200),TABLE_NAME VARCHAR(40))';
    END IF;
    
    END;
    
    SELECT USER INTO OWNER_NAME FROM DUAL;
    
    V_SQL1:='INSERT INTO ANALYZE_LOG (USER_NAME,ERROR_TEXT,TABLE_NAME) VALUES ('''||OWNER_NAME||''',''ANALYZE BEGIN'',''ALL'')';
    EXECUTE IMMEDIATE V_SQL1;
    sys.dbms_stats.gather_schema_stats(ownname=>UPPER(OWNER_NAME),estimate_percent => 100,method_opt => 'FOR ALL INDEXED COLUMNS',cascade => TRUE);
    V_SQL1:='INSERT INTO ANALYZE_LOG (USER_NAME,ERROR_TEXT,TABLE_NAME) VALUES ('''||OWNER_NAME||''',''ANALYZE END'',''ALL'')';
    EXECUTE IMMEDIATE V_SQL1;
    commit;
    
    --1.2delete tmptb statitics
    BEGIN
    OPEN CUR_TABLE_TEMP ;
    LOOP
    FETCH CUR_TABLE_TEMP INTO V_TABLENAME;
    EXIT WHEN CUR_TABLE_TEMP %NOTFOUND;
    V_SQL1:= 'ANALYZE TABLE '|| V_TABLENAME ||' delete STATISTICS ';
    EXECUTE IMMEDIATE V_SQL1;
    END LOOP;
    
    CLOSE CUR_TABLE_TEMP ;
    end;
    
    EXCEPTION
    WHEN OTHERS THEN
    IF CUR_LOG%ISOPEN THEN
    CLOSE CUR_LOG;
    END IF;
    IF CUR_TABLE_TEMP%ISOPEN THEN
    CLOSE CUR_TABLE_TEMP ;
    END IF;
    commit;
    end;
  • 相关阅读:
    Codeforces 115A- Party(DFS)
    【剑指offer】Q19:二叉树的镜像
    Codeforces Round #244 (Div. 2)D (后缀自己主动机)
    iWatch报错: Authorization request cancled
    [HDU 1421]搬寝室(富有新意的DP)
    hdu 2883 kebab(时间区间压缩 && dinic)
    bzoj-3524 Couriers
    设计模式
    HDU 5063 Operation the Sequence(暴力)
    报错OPTION SQL_SELECT_LIMIT=
  • 原文地址:https://www.cnblogs.com/sumsen/p/2524727.html
Copyright © 2011-2022 走看看