Inhaltsverzeichnis
目标
源码
Heim Datenbank MySQL-Tutorial 存储过程运行日志记录通用模块

存储过程运行日志记录通用模块

Jun 07, 2016 pm 03:59 PM
存储 实现 日志 模块 目标 记录 过程 运行 通用

目标 实现记录执行存储过程的开始时间,结束时间,运行状态,错误信息等,以函数封装日志记录的方式,存储调用函数 源码 存储过程模版 CREATE OR REPLACE PROCEDURE proc_xx IS --修改标志返回值 V_AFFECT_LINE NUMBER; PROID NUMBER;BEGIN --调用更改标志函

目标

实现记录执行存储过程的开始时间,结束时间,运行状态,错误信息等,以函数封装日志记录的方式,存储调用函数

源码

存储过程模版
CREATE OR REPLACE PROCEDURE proc_xx

 IS

    --修改标志返回值
    V_AFFECT_LINE    NUMBER;
    PROID            NUMBER;
BEGIN

    --调用更改标志函数,将进程改为运行中'S'
    V_AFFECT_LINE := INSERT_LOG(PROID,'proc_xx',WIFI.GLOBAL_PARAM.STATUS_START);

       --逻辑处理函数调用
    V_AFFECT_LINE := WIFI.func_xx();

    --修改标志,成功置C
    V_AFFECT_LINE := WIFI.MODIFY_STATUS(PROID,WIFI.GLOBAL_PARAM.STATUS_CLOSE,'');


EXCEPTION
       WHEN OTHERS THEN
    --调用更改标志函数,将进程改为出错'F'
    V_AFFECT_LINE := MODIFY_STATUS(PROID,WIFI.GLOBAL_PARAM.STATUS_FAILED,WIFI.GLOBAL_PARAM.LOG_EXCEPTION);
END;
Nach dem Login kopieren
函数模版
create or replace function func_xx return int is
  begin

....        
    
return 1;

exception
  when others then
      set_error_log ();
      RETURN 0;
 end;
Nach dem Login kopieren
相关日志记录函数
CREATE OR REPLACE FUNCTION INSERT_LOG (
   proid          OUT      NUMBER,
   program_name   IN       VARCHAR2,
   status         IN       VARCHAR2
)
   RETURN NUMBER
IS
  -------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------
---
-- -功能描述: 初始化日志
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
BEGIN
   INSERT INTO program_log
        VALUES (program_log_seq.NEXTVAL, TO_CHAR (SYSDATE, 'YYYYMMDD'),
         program_name, SYSDATE, NULL, status, '');

   SELECT program_log_seq.CURRVAL INTO proid FROM dual;
   COMMIT;
   RETURN 1;
EXCEPTION
   WHEN OTHERS
   THEN
      RETURN 0;
      END;
      
      
 CREATE OR REPLACE FUNCTION MODIFY_STATUS
  ( proId IN number,
    status IN varchar2,
    proDesc in varchar2)
    RETURN NUMBER IS

   thisDate     date;

BEGIN
  -------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------
---
-- -功能描述: 修改日志表存储过程运行状态,记录开始时间 结束时间 出错信息
----------------------------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------------------------------
    thisDate := sysdate;
    --更新状态 出错信息
    update program_log set program_status=status, memo=proDesc where id=proId;

    --更新日期:如果是运行中,更新起始运行日期;如果是运行成功或者运行失败,更新结束运行日期
    IF status='S' THEN
        update program_log set start_date=thisDate where id=proId;
    ELSIF status='C' THEN
        update program_log set end_date=thisDate where id=proId;
    ELSIF status='F' THEN
        update program_log set end_date=thisDate where id=proId;
        COMMIT;
        RAISE_APPLICATION_ERROR(-20040,'STATUS IS F');

    END IF;
   /* ELSIF status='C' OR status='F' THEN
        update program_log set end_date=thisDate where id=proId;
    END IF;*/
    commit;
    RETURN 1;
EXCEPTION
    WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20041,'STATUS IS F');
        RETURN 0;
END;

CREATE OR REPLACE PROCEDURE SET_ERROR_LOG
   IS
BEGIN
   GLOBAL_PARAM.LOG_EXCEPTION := 'error desc---'||sqlerrm;
   commit;
   RAISE no_data_found;
END; -- Procedure;


CREATE OR REPLACE PACKAGE GLOBAL_PARAM IS
LOG_EXCEPTION VARCHAR2(2000):='';
STATUS_START VARCHAR2(10):='S';
STATUS_CLOSE VARCHAR2(10):='C';
STATUS_FAILED VARCHAR2(10):='F';

END; 
Nach dem Login kopieren
创建日志表
create table PROGRAM_LOG
(
  ID             NUMBER not null,
  BATCH_NUMBER   VARCHAR2(50),
  PROGRAM_NAME   VARCHAR2(100),
  START_DATE     DATE,
  END_DATE       DATE,
  PROGRAM_STATUS VARCHAR2(20),
  MEMO           VARCHAR2(2000)
)
Nach dem Login kopieren
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wo kann ich die Aufzeichnungen der Dinge einsehen, die ich auf Pinduoduo gekauft habe? Wie kann ich die Aufzeichnungen der gekauften Produkte einsehen? Wo kann ich die Aufzeichnungen der Dinge einsehen, die ich auf Pinduoduo gekauft habe? Wie kann ich die Aufzeichnungen der gekauften Produkte einsehen? Mar 12, 2024 pm 07:20 PM

Die Pinduoduo-Software bietet viele gute Produkte, die Sie jederzeit und überall kaufen können. Die Qualität jedes Produkts wird streng kontrolliert, jedes Produkt ist echt und es gibt viele Vorzugsrabatte beim Einkaufen, sodass jeder online einkaufen kann. Ich kann einfach nicht aufhören. Geben Sie Ihre Mobiltelefonnummer ein, um sich online anzumelden, fügen Sie online mehrere Lieferadressen und Kontaktinformationen hinzu und prüfen Sie jederzeit die neuesten Logistiktrends. Suchen Sie nach oben und unten, um zu kaufen und eine Bestellung aufzugeben. Sie können den Komfort genießen, ohne das Haus zu verlassen. Mit dem Online-Einkaufsservice können Sie auch alle Einkaufsunterlagen, einschließlich der von Ihnen gekauften Waren, einsehen und erhalten Dutzende von roten Einkaufsumschlägen und Gutscheinen kostenlos Detaillierte Online-Methode zum Anzeigen gekaufter Produktdatensätze. 1. Öffnen Sie Ihr Telefon und klicken Sie auf das Pinduoduo-Symbol.

Wie führe ich eine .sh-Datei im Linux-System aus? Wie führe ich eine .sh-Datei im Linux-System aus? Mar 14, 2024 pm 06:42 PM

Wie führe ich eine .sh-Datei im Linux-System aus? In Linux-Systemen ist eine .sh-Datei eine Datei, die als Shell-Skript bezeichnet wird und zum Ausführen einer Reihe von Befehlen verwendet wird. Das Ausführen von .sh-Dateien ist ein sehr häufiger Vorgang. In diesem Artikel wird erläutert, wie .sh-Dateien in Linux-Systemen ausgeführt werden, und es werden spezifische Codebeispiele bereitgestellt. Methode 1: Verwenden Sie einen absoluten Pfad, um eine .sh-Datei auszuführen. Um eine .sh-Datei in einem Linux-System auszuführen, können Sie einen absoluten Pfad verwenden, um den Speicherort der Datei anzugeben. Im Folgenden sind die spezifischen Schritte aufgeführt: Öffnen Sie das Terminal

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mar 24, 2024 am 11:27 AM

Wie implementiert man die doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen? Mit dem Aufkommen der sozialen Medien ist WeChat zu einem unverzichtbaren Kommunikationsmittel im täglichen Leben der Menschen geworden. Viele Menschen können jedoch auf ein Problem stoßen: Sie können sich gleichzeitig auf demselben Mobiltelefon bei mehreren WeChat-Konten anmelden. Für Huawei-Mobiltelefonbenutzer ist es nicht schwierig, eine doppelte WeChat-Anmeldung zu erreichen. In diesem Artikel wird erläutert, wie eine doppelte WeChat-Anmeldung auf Huawei-Mobiltelefonen erreicht wird. Erstens bietet das EMUI-System, das mit Huawei-Mobiltelefonen geliefert wird, eine sehr praktische Funktion – das doppelte Öffnen von Anwendungen. Durch die doppelte Öffnungsfunktion der Anwendung können Benutzer gleichzeitig

Huawei wird nächstes Jahr innovative MED-Speicherprodukte auf den Markt bringen: Die Rack-Kapazität übersteigt 10 PB und der Stromverbrauch beträgt weniger als 2 kW Huawei wird nächstes Jahr innovative MED-Speicherprodukte auf den Markt bringen: Die Rack-Kapazität übersteigt 10 PB und der Stromverbrauch beträgt weniger als 2 kW Mar 07, 2024 pm 10:43 PM

Diese Website berichtete am 7. März, dass Dr. Zhou Yuefeng, Präsident der Datenspeicherproduktlinie von Huawei, kürzlich an der MWC2024-Konferenz teilgenommen und speziell die magnetoelektrische Speicherlösung OceanStorArctic der neuen Generation vorgestellt hat, die für warme Daten (WarmData) und kalte Daten (ColdData) entwickelt wurde. Zhou Yuefeng, Präsident der Datenspeicherproduktlinie von Huawei, hat eine Reihe innovativer Lösungen veröffentlicht: Die dieser Website beigefügte offizielle Pressemitteilung von Huawei lautet wie folgt: Die Kosten dieser Lösung sind 20 % niedriger als die von Magnetbändern Der Stromverbrauch ist 90 % niedriger als der von Festplatten. Laut Foreign Technology Media BlocksandFiles gab ein Huawei-Sprecher auch Informationen über die magnetoelektrische Speicherlösung preis: Huaweis magnetoelektronische Disk (MED) sei eine bedeutende Innovation bei magnetischen Speichermedien. ME der ersten Generation

So führen Sie M-File in Matlab aus – Tutorial zum Ausführen von M-File in Matlab So führen Sie M-File in Matlab aus – Tutorial zum Ausführen von M-File in Matlab Mar 04, 2024 pm 02:13 PM

Wissen Sie, wie man M-Dateien in Matlab ausführt? Im Folgenden finden Sie eine Anleitung zum Ausführen von M-Dateien in Matlab. 1. Öffnen Sie zuerst den Matlab Software und wählen Sie oben links die Ecke „Öffnen“, wie im Bild unten gezeigt. 2. Wählen Sie dann die auszuführende m-Datei aus und öffnen Sie sie, wie in der Abbildung unten gezeigt. 3. Drücken Sie im Fenster F5, um das Programm auszuführen, wie in der Abbildung unten gezeigt. 4. Wir können die laufenden Ergebnisse im Befehlszeilenfenster und im Arbeitsbereich anzeigen, wie in der Abbildung unten gezeigt. 5. Sie können die Datei auch ausführen, indem Sie direkt auf „Ausführen“ klicken, wie in der Abbildung unten gezeigt. 6. Abschließend können Sie die Ausführungsergebnisse der m-Datei im Befehlszeilenfenster und im Arbeitsbereich anzeigen, wie in der folgenden Abbildung dargestellt. Das Obige ist die Matlab-Methode, die Ihnen der Herausgeber zur Verfügung gestellt hat

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mar 24, 2024 pm 06:03 PM

So implementieren Sie die WeChat-Klonfunktion auf Huawei-Mobiltelefonen Mit der Popularität sozialer Software und der zunehmenden Bedeutung von Datenschutz und Sicherheit rückt die WeChat-Klonfunktion allmählich in den Mittelpunkt der Aufmerksamkeit der Menschen. Die WeChat-Klonfunktion kann Benutzern helfen, sich gleichzeitig bei mehreren WeChat-Konten auf demselben Mobiltelefon anzumelden, was die Verwaltung und Nutzung erleichtert. Es ist nicht schwierig, die WeChat-Klonfunktion auf Huawei-Mobiltelefonen zu implementieren. Sie müssen lediglich die folgenden Schritte ausführen. Schritt 1: Stellen Sie sicher, dass die Version Ihres Mobiltelefonsystems und die WeChat-Version den Anforderungen entsprechen. Stellen Sie zunächst sicher, dass die Version Ihres Huawei-Mobiltelefonsystems sowie die WeChat-App auf die neueste Version aktualisiert wurden.

PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge PHP-Programmierhandbuch: Methoden zur Implementierung der Fibonacci-Folge Mar 20, 2024 pm 04:54 PM

Die Programmiersprache PHP ist ein leistungsstarkes Werkzeug für die Webentwicklung, das eine Vielzahl unterschiedlicher Programmierlogiken und Algorithmen unterstützen kann. Unter diesen ist die Implementierung der Fibonacci-Folge ein häufiges und klassisches Programmierproblem. In diesem Artikel stellen wir vor, wie Sie die Fibonacci-Folge mit der Programmiersprache PHP implementieren, und fügen spezifische Codebeispiele bei. Die Fibonacci-Folge ist eine mathematische Folge, die wie folgt definiert ist: Das erste und das zweite Element der Folge sind 1, und ab dem dritten Element ist der Wert jedes Elements gleich der Summe der beiden vorherigen Elemente. Die ersten paar Elemente der Sequenz

Detaillierte Erklärung des Protokollanzeigebefehls im Linux-System! Detaillierte Erklärung des Protokollanzeigebefehls im Linux-System! Mar 06, 2024 pm 03:55 PM

In Linux-Systemen können Sie den folgenden Befehl verwenden, um den Inhalt der Protokolldatei anzuzeigen: Befehl tail: Der Befehl tail wird verwendet, um den Inhalt am Ende der Protokolldatei anzuzeigen. Dies ist ein allgemeiner Befehl zum Anzeigen der neuesten Protokollinformationen. tail [Option] [Dateiname] Zu den häufig verwendeten Optionen gehören: -n: Geben Sie die Anzahl der anzuzeigenden Zeilen an. Der Standardwert ist 10 Zeilen. -f: Überwachen Sie den Dateiinhalt in Echtzeit und zeigen Sie den neuen Inhalt automatisch an, wenn die Datei aktualisiert wird. Beispiel: tail-n20logfile.txt#Zeigen Sie die letzten 20 Zeilen der Datei logfile.txt an. tail-flogfile.txt#Überwachen Sie den aktualisierten Inhalt der Datei logfile.txt in Echtzeit. Head-Befehl: Der Head-Befehl wird verwendet, um den Anfang anzuzeigen der Protokolldatei

See all articles