2015-01-30 4 views
2

받는 방법 all_views에서 개별보기의 총 레코드 수.받는 방법 all_views에서 개별보기의 총 레코드 수

V_DSP_BUSINESS_DATE   10 
V_DSP_DEPARTMENT    20 
V_DSP_EMPLOYEE_DEACTIVATED  50 
V_DSP_EMPLOYEE_GED    80 

예상 출력 :

sum up the record count of all individual views 

i.e 160 

이 친절하게 도와

Declare 
view_name  VARCHAR2(200); 
v_str   VARCHAR2 (1000); 
v_output  VARCHAR2(4000); 

CURSOR tbl IS 
    SELECT view_name 
    FROM all_views 
    WHERE OWNER = SYS_CONTEXT('USERENV', 'CURRENT_SCHEMA') 
    ORDER BY 1 ; 
BEGIN 
OPEN tbl ; 
    LOOP 
    FETCH tbl INTO view_name; 
    EXIT WHEN tbl%NOTFOUND; 
      v_str := 'Select '''|| view_name ||'  '' || count (*) from ' || view_name ; 
      EXECUTE IMMEDIATE v_str INTO v_output; 

      DBMS_OUTPUT.PUT_LINE(v_output); 
    END LOOP; 
CLOSE tbl; 
END; 

전류 출력 .. 참조 코드를 검색 할 수 있습니다.

+0

당신 만 160 뷰 이름 또는 모든 뷰 이름에 대한 160없이 원하는 즉 예상되는 출력이 더 명확 할 수있다 최종 코드를 검색 할 수 있습니다. –

+0

루프 내부에서 카운트를 추가하고 종료 루프 다음에 dbms_output을 넣습니다. 내 대답을 보라. –

답변