오라클의 모든 MVIEW를 대량으로 새로 고치는 PLSQL

가끔 사용하지만 잊기 때문에.
DECLARE
    -- 全てのMVIEWの名前を取得するカーソル
    CURSOR c IS
    SELECT
        mview_name
    FROM
        user_mviews 
    ORDER BY
        mview_name;
    -- カーソルの中身を入れる箱
    vc   c%rowtype;
BEGIN
    OPEN c;
    LOOP
        FETCH c INTO vc;
        EXIT WHEN c%notfound;
        -- 一つずつ完全リフレッシュ
        dbms_mview.refresh(vc.mview_name, 'c');
    END LOOP;
    CLOSE c;
END;

좋은 웹페이지 즐겨찾기