Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Bagaimana Cara Membuat File Log di Oracle Menggunakan PL/SQL?

Anda memiliki program PL/SQL, dan Anda ingin mencatat informasi dalam file teks dari setiap langkah kode Anda. Berikut adalah contoh untuk membuat file log di Oracle menggunakan PL/SQL.

Buat File Log di Oracle Menggunakan Contoh PL/SQL

Berikut ini adalah prosedur PL/SQL untuk memperbarui harga produk dengan nilai persentase yang diteruskan sebagai parameter. Juga, itu akan mencatat informasi dari setiap langkah yang terjadi dalam program. Catatan, Anda harus memiliki objek direktori yang dibuat di Oracle untuk menulis file, periksa link ini untuk mempelajari cara membuat objek direktori di 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;

Uji Program

BEGIN
   PROD_PRICE_UPDATE (12);
END;
/

Output File Log (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

Lihat juga:

  • Menulis File CSV di Oracle Menggunakan PL/SQL

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle:apakah urutan kolom penting dalam indeks?

  2. Menambahkan nama Skema ke entitas di data Spring?

  3. Bantuan ekspresi Oracle SQL GROUP BY bukan GROUP BY

  4. Bisakah kita mendistribusikan ulang Oracle tools.jar?

  5. Menghubungkan Oracle ke SQL Server dari Windows