Tôi hiện đang làm việc về lỗi ghi nhật ký trong một quy trình. Mục tiêu của thủ tục này sẽ được gọi trong các trình xử lý ngoại lệ trong các gói khác trong DB và ghi lại các lỗi mà mỗi chương trình gặp phải. dưới đây là mã của tôi.số dòng ghi nhật ký trong oracle
CREATE OR REPLACE PROCEDURE APMS.test_procedure AS
procedure write_error_log (errcode number, errstr varchar2) is
pragma autonomous_transaction;
-- this procedure stays in its own new private transaction
begin
INSERT INTO error_log
(ora_err_tmsp,
ora_err_number,
ora_err_msg,
ora_err_line_no)
values (CURRENT_TIMESTAMP,
errcode,
errstr,
'line number');
COMMIT; -- this commit does not interfere with the caller's transaction.
end write_error_log;
BEGIN
INSERT INTO mockdata
VALUES ('data1', 'mockname', 'mockcity');
exception when others then
write_error_log(sqlcode,sqlerrm);
raise;
END test_procedure;
/
tôi đang chỉ gây một lỗi trong bảng mock_data của tôi để ghi lại các lỗi trong bảng error_log và xem nếu chức năng tôi chỉ con số không thể của nó ra làm thế nào để đăng nhập vào cột số dòng. Tôi là người mới bắt đầu hoàn chỉnh nên mọi sự trợ giúp sẽ được đánh giá cao. Addiotionally, Nếu ai biết làm thế nào tôi sẽ có thể sử dụng thủ tục này trong các gói khác/thủ tục để đăng nhập các lỗi trong các gói khác mà sẽ là tuyệt vời là tốt. Tôi ở đây để tìm hiểu vì vậy bất kỳ phản hồi nào được đánh giá cao, tôi có thể mở rộng thêm về bài đăng này nếu tôi không rõ ràng.
Tôi sử dụng gói này từ Steven Feurstein. Rõ ràng là không có sẵn từ Toad nữa nhưng có thể tìm thấy ở đây http://awads.net/wp/2007/08/08/new-oracle-plsql-error-management-framework-released/ Tại sao viết nó khi bạn có thể sử dụng gói? – kevinsky
Cảm ơn các nguồn tài nguyên, thật không may, tôi đang sử dụng Toad và cấp trên của tôi muốn tôi học và viết các thủ tục cho các chương trình khác để chạy trong xử lý ngoại lệ của họ. – Jules