일부 레코드를 처리하는 동안 프로그램이 진행될 때 출력을보고 싶습니다. 라인을 읽는 것은 도움이되지 않습니다. 단지 버퍼에서 가져온 것이므로 다른 것은 없습니다. 예를 들면 :매 반복마다 호출 될 때마다 내용을 한 줄씩 출력하도록 dbms_output.put_line()을 찾는 방법은 무엇입니까?
DECLARE
CURSOR cEmploee IS SELECT * FROM g_emploees;
iTotal INTEGER := 0;
iCount INTEGER := 0;
BEGIN
SELECT COUNT(*) FROM g_emploees INTO iTotal;
FOR rLine IN cEmploee loop
dbms_output.put_line('Porcessed['||rLine.id||']: '|| ((iCount/iTotal)*100) || '%')
iCount := iCount + 1;
END LOOP;
END;
- 내가 dbms_output.get_line()를 사용, 그래서 대답 표시 멈출 수 없다!
- 읽기 전용으로 출력을 파일로 파이프 할 수 없습니다!
처리 된 %를보고 모든 ITERATION에서 처리 된 행을 인쇄하기 위해 사용할 수있는 DBMS 용 명령/설정이 있습니까? "dbms_output.put_line"이 호출이 끝날 때 500 라인과 달리 호출 될 때 인쇄 된 라인은 PL/SQL의 모든 정확한 시간을 표시해야합니다.) ?? 명령 창 ON 문 아래
호는 그런 옵션이 없습니다. 프로 시저가 완료 될 때만 출력이 표시됩니다. –
[Oracle의 PL/SQL에서 출력을 플러시 할 수있는 방법이 있습니까?] (http://stackoverflow.com/questions/1472587/is-there-any-way-to-flush-output-from-pl) -sql-in-oracle) – user272735
[각 반복에서 dbms_output.put_line을 호출 할 때 줄 단위로 인쇄하는 방법] (http://stackoverflow.com/questions/39099366/how-to-make- dbms-output-put-line-to-print-line-by-every-it-in-every-it이라고도 함)은 첫 번째 사본이 복제본으로 닫혀 있기 때문에 작성되었습니다. –