Die Methoden zum Anzeigen des Ausführungsfortschritts gespeicherter Prozeduren in Oracle sind: Verwenden Sie das Paket DBMS_OUTPUT, um Fortschrittsinformationen auszugeben. Verwenden Sie das Paket DBMS_APPLICATION_INFO, um Ausführungsinformationen abzurufen. Fragen Sie die Ansicht V$SESSION_LONGOPS ab, um Informationen zu langen Vorgängen zu erhalten. Verwenden Sie die Funktion INSTR(), um den Code zu überprüfen und Fortschrittsinformationen auszugeben.
So überprüfen Sie den Ausführungsfortschritt gespeicherter Oracle-Prozeduren
In Oracle sind die gängigen Methoden zum Überprüfen des Ausführungsfortschritts gespeicherter Prozeduren wie folgt:
1 Verwenden Sie das DBMS_OUTPUT-Paket
Das DBMS_OUTPUT-Paket bietet die Möglichkeit, Nachrichten an die Client-Sitzungsfunktionalität auszugeben. Sie können dieses Paket im Code gespeicherter Prozeduren verwenden, um Fortschrittsinformationen während der Ausführung auszugeben.
Beispiel:
<code>DECLARE BEGIN DBMS_OUTPUT.PUT_LINE('处理第 1000 条记录...'); /* 其他代码 */ END;</code>
2. Verwendung des DBMS_APPLICATION_INFO-Pakets
Das DBMS_APPLICATION_INFO-Paket ermöglicht einer Anwendung den Zugriff auf Informationen über die aktuelle Sitzung, einschließlich der ausgeführten Anweisungen. Sie können dieses Paket im gespeicherten Prozedurcode verwenden, um den Ausführungsfortschritt abzurufen.
Beispiel:
<code>DECLARE info VARCHAR2(4000); BEGIN DBMS_APPLICATION_INFO.SET_MODULE('my_package', 'my_procedure'); LOOP DBMS_APPLICATION_INFO.GET_MODULE_INFO(info); DBMS_OUTPUT.PUT_LINE(info); /* 其他代码 */ END LOOP; END;</code>
3. Verwendung der V$SESSION_LONGOPS-Ansicht
Die V$SESSION_LONGOPS-Ansicht bietet Informationen über aktuell ausgeführte lange Vorgänge, einschließlich gespeicherter Prozeduren. Sie können diese Ansicht abfragen, um den Ausführungsfortschritt einer gespeicherten Prozedur zu erhalten.
Beispiel:
<code>SELECT operation, elapsed_seconds, total_work FROM V$SESSION_LONGOPS WHERE operation_type = 'PARSE' AND operation LIKE '%my_procedure%';</code>
4. Mit der Funktion INSTR() kann die Funktion INSTR() verwendet werden, um die erste Position zu finden, an der ein Teilstring in einem String vorkommt. Mit dieser Funktion können Sie den gespeicherten Prozedurcode untersuchen und Fortschrittsinformationen ausgeben, während verschiedene Abschnitte ausgeführt werden.
Beispiel:<code>DECLARE code VARCHAR2(4000); BEGIN SELECT text INTO code FROM user_source WHERE name = 'my_procedure'; DBMS_OUTPUT.PUT_LINE('执行到 ' || INSTR(code, '/* 进度信息 */') || ' 行...'); /* 其他代码 */ END;</code>
Das obige ist der detaillierte Inhalt vonWie prüft Oracle, wo die gespeicherte Prozedur ausgeführt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!