Ich möchte eine Tabelle für den Zweck der Protokollierung in einer Weise erstellen, dass, wenn ich in die Tabelle einfügen Ich habe eine Spalte Ausführungsreihenfolge, die pro RequestID-weise erhöhen.Oracle - Wie erstellt man eine Tabelle mit zwei Spalten, die wie ein 2D-Array wachsen?
CREATE TABLE WSRequestLog
(
RequestId NUMBER,
ExecOrder INTEGER,
MobileNo VARCHAR2(50),
CardNo VARCHAR2(50),
Log_Text VARCHAR2(4000),
DateTime date
PRIMARY KEY (RequestId, ExecOrder)
);
PROCEDURE Generate
.
.
.
IF first_condition = TRUE THEN
INSERT INTO WSRequestLog (RequestId, ExecOrder, MobileNo, CardNo, Log_Text, DateTime)
VALUES (v_req_id, Auto_Incremenet or NextVal, v_mobile_no, v_card_no, 'Performing First Step', SYSDATE);
--Execute Code
IF second_condition = TRUE THEN
INSERT INTO WSRequestLog (RequestId, ExecOrder, MobileNo, CardNo, Log_Text,DateTime)
VALUES (v_req_id, Auto_Incremenet or NextVal, v_mobile_no, v_card_no, 'First Step executed, checking next step', SYSDATE);
--Execute Code
ELSE
INSERT INTO WSRequestLog (RequestId, ExecOrder, MobileNo, CardNo, Log_Text,DateTime)
VALUES (v_req_id, Auto_Incremenet or NextVal, v_mobile_no, v_card_no, 'Second Step not applicable', SYSDATE);
--Execute Code
END IF;
END IF;
END Generate;
Meine Frage ist, wie man diese Art der Insertion erreichen kann? Also, wenn ich die gespeicherte Prozedur ausführen, würde die Log-Tabelle so aussehen:
Sie haben vergessen, eine Frage zu stellen – GurV
Ihre "Generieren" -Prozedur müsste Ausführungsreihenfolge in die Einfügung übergeben, oder einfach eine Sequenz verwenden, und wenn alles, was Sie interessiert, Datensätze in der richtigen Reihenfolge zurück erhält. – OldProgrammer