आपके पास एक PL/SQL प्रोग्राम है, और आप अपने कोड के प्रत्येक चरण की टेक्स्ट फ़ाइल में जानकारी लॉग करना चाहते हैं। PL/SQL का उपयोग करके Oracle में लॉग फ़ाइल बनाने का एक उदाहरण यहां दिया गया है।
PL/SQL उदाहरण का उपयोग करके Oracle में लॉग फ़ाइल बनाएं
पैरामीटर के रूप में पारित प्रतिशत मान द्वारा उत्पाद की कीमत को अद्यतन करने के लिए पीएल/एसक्यूएल प्रक्रिया निम्नलिखित है। साथ ही यह प्रोग्राम में हो रहे हर स्टेप की जानकारी लॉग करेगा। ध्यान दें, फ़ाइलों को लिखने के लिए आपके पास Oracle में बनाई गई निर्देशिका ऑब्जेक्ट होनी चाहिए, Oracle में निर्देशिका ऑब्जेक्ट बनाने का तरीका जानने के लिए इस लिंक को जांचें।
CREATE OR REPLACE PROCEDURE prod_price_update (increase_pct IN NUMBER) IS f_file UTL_FILE.file_type; v_file_name VARCHAR2 (100); BEGIN v_file_name := 'log_' || TO_CHAR (SYSDATE, 'yyyymmdd_HH24miss') || '.log'; f_file := UTL_FILE.fopen ('LOG_FILES', v_file_name, 'w'); UTL_FILE.put_line (f_file, 'Log file ' || v_file_name); UTL_FILE.new_line (f_file); UTL_FILE.put_line ( f_file, 'Job started at: ' || TO_CHAR (SYSDATE, 'dd-mm-yyyy HH24:mi:ss')); UTL_FILE.put_line ( f_file, 'Price increment percentage value: ' || increase_pct || '%'); UPDATE products SET prod_list_price = prod_list_price + (prod_list_price * increase_pct / 100); UTL_FILE.put_line (f_file, 'Number of products updated: ' || SQL%ROWCOUNT); COMMIT; UTL_FILE.put_line (f_file, 'Records committed.'); UTL_FILE.put_line ( f_file, 'Job finished successfully at: ' || TO_CHAR (SYSDATE, 'dd-mm-yyyy HH24:mi:ss')); UTL_FILE.fclose (f_file); EXCEPTION WHEN OTHERS THEN IF UTL_FILE.is_open (f_file) THEN UTL_FILE.put_line (f_file, 'Job finished with errors: ' || SQLERRM); UTL_FILE.fclose (f_file); END IF; END;
कार्यक्रम का परीक्षण करें
BEGIN PROD_PRICE_UPDATE (12); END; /
लॉग फ़ाइल का आउटपुट (log_20180919_214756.log)
Log file log_20180919_214756.log Job started at: 19-09-2018 21:47:56 Price increment percentage value: 12% Number of products updated: 72 Records committed. Job finished successfully at: 19-09-2018 21:47:57
यह भी देखें:
- PL/SQL का उपयोग करके Oracle में CSV फ़ाइलें लिखें