PL/SQL: Beberapa Package Yang Menarik


DBMS_RANDOM dapat dipakai untuk menghasilkan nilai acak. Fungsi NORMAL akan menghasilkan angka acak dalam tipe NUMBER, sementara fungsi STRING akan menghasilkan karakter acak. Contoh penggunannya antara lain:

declare
  kalimat VARCHAR2(10);
begin
  dbms_output.put_line(dbms_random.normal);
  dbms_output.put_line(
    dbms_random.string('x',10));
end;
/

 

DBMS_UTILITY mengandung banyak fungsi-fungsi pembantu. Salah satunya adalah PORT_STRING untuk mengetahui versi OS dimana Oracle Database berjalan. Untuk mengetahui versi database, fungsi DB_VERSION dapat dipergunakan. Ada juga CURRENT_INSTANCE untuk mengetahui berapa instance yang terkoneksi ke database saat ini.

UTL_FILE menyediakan procedure dan fungsi yang berhubungan dengan manipulasi file. Sebelum memulai menulis dan membaca file, aku membuat object directory dan men-assign pada user yang bersangkutan. Berikut ini adalah contoh menulis ke file dalam PL/SQL:

DECLARE
  file_handle utl_file.FILE_TYPE;
BEGIN
  file_handle := utl_file.fopen('LATIHAN',
     'sample.log', 'w');
  utl_file.put_line(file_handle,
     '## Example of Log File');
  utl_file.put_line(file_handle,
     '## This is dummy');
  utl_file.fflush(file_handle);
  utl_file.fclose(file_handle);
END;
/

 

Maksimal buffer untuk pemanggilan fungsi PUT atau PUT_LINE adalah 32767 bytes. Jadi sebelum tulisan di buffer mencapai angka tersebut, buffer flush harus dilakukan dengan fungsi FFLUSH.

Berikut ini adalah contoh PL/SQL yang membaca file yang ditulis oleh kode program sebelumnya:

DECLARE
  file_handle utl_file.FILE_TYPE;
  baris VARCHAR2(2000);
BEGIN
  file_handle := utl_file.fopen('LATIHAN',
    'sample.log', 'r');
  BEGIN
    LOOP
      utl_file.get_line(file_handle, baris);
      dbms_output.put_line(baris);
    END LOOP;
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      dbms_output.put_line('** EOF **');
  END;
  utl_file.fclose(file_handle);
END;
/

Perihal Solid Snake
I'm nothing...

One Response to PL/SQL: Beberapa Package Yang Menarik

  1. Ping-balik: DBMS_RANDOM « Salim berbagi…. tempat belajar dan belanja….

Apa komentar Anda?

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: