PL/SQL - DBMS Output: Panduan untuk Pemula

Hai teman-teman, para ahli basis data masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia PL/SQL dan menjelajahi alat yang berguna yang disebut DBMS Output. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengambil langkah ini satu per satu. Pada akhir panduan ini, Anda akan dapat mengirimkan pesan seperti seorang profesional!

PL/SQL - DBMS Output

Apa Itu DBMS Output?

Sebelum kita masuk ke detil, mari kita mengerti apa yang dimaksudkan oleh DBMS Output. Bayangkan Anda sedang memasak resep yang kompleks. Apakah akan membantu jika oven Anda dapat memberitahu Anda apa yang terjadi di dalamnya? Itu tepatnya apa yang DBMS Output lakukan untuk kode PL/SQL Anda!

DBMS Output adalah paket dalam PL/SQL yang memungkinkan Anda mencetak pesan ke buffer, yang Anda kemudian dapat lihat. Itu seperti memiliki buku catatan kecil tempat program Anda mencatat catatan untuk Anda membaca nanti. Ini sangat berguna untuk debugging kode Anda dan memahami apa yang terjadi di berbagai tahap eksekusi program Anda.

Memulai dengan DBMS Output

Untuk menggunakan DBMS Output, kita perlu melakukan dua hal:

  1. Aktifkan buffer DBMS Output
  2. Gunakan prosedur PUT_LINE untuk menulis pesan

mari lihat contoh sederhana:

BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/

Jika Anda menjalankan kode ini, Anda mungkin terkejut untuk melihat... nothing! Itu karena kita belum mengaktifkan buffer DBMS Output. Mari kita perbaiki itu:

SET SERVEROUTPUT ON;

BEGIN
DBMS_OUTPUT.PUT_LINE('Hello, World!');
END;
/

Sekarang Anda seharusnya melihat:

Hello, World!

Selamat! Anda baru saja menulis program PL/SQL pertama Anda dengan output. Mari kitauraikan apa yang terjadi:

  1. SET SERVEROUTPUT ON; mengaktifkan buffer DBMS Output.
  2. BEGIN dan END; menandai awal dan akhir blok PL/SQL kita.
  3. DBMS_OUTPUT.PUT_LINE('Hello, World!'); adalah perintah yang benar-benar mencetak pesan kita.
  4. Tanda / di akhir memberitahu SQL*Plus untuk menjalankan blok PL/SQL.

Subprogram DBMS_OUTPUT

Sekarang kita sudah mulai, mari jelajahi berbagai subprogram (berpikir seperti tools) yang tersedia dalam paket DBMS_OUTPUT. Berikut adalah tabel yang menyummarisakan mereka:

Subprogram Deskripsi
PUT Menempatkan string di buffer
PUT_LINE Menempatkan baris di buffer
NEW_LINE Menyisipkan pemisah baris
GET_LINE Mengambil baris dari buffer
GET_LINES Mengambil beberapa baris dari buffer
ENABLE Mengaktifkan paket DBMS_OUTPUT
DISABLE Menonaktifkan paket DBMS_OUTPUT

Mari kita lihat setiap dari ini secara detil dengan contoh.

PUT dan PUT_LINE

Prosedur PUT menambahkan teks ke buffer tanpa pemisah baris, sedangkan PUT_LINE menambahkan teks dan kemudian memulai baris baru. Berikut adalah contoh:

BEGIN
DBMS_OUTPUT.PUT('Hello');
DBMS_OUTPUT.PUT(' ');
DBMS_OUTPUT.PUT('World');
DBMS_OUTPUT.NEW_LINE;
DBMS_OUTPUT.PUT_LINE('How are you?');
END;
/

Output:

Hello World
How are you?

Dalam contoh ini, kita menggunakan PUT untuk membangun baris secara bertahap, kemudian menggunakan NEW_LINE untuk memulai baris baru. PUT_LINE secara otomatis memulai baris baru setelah pesannya.

NEW_LINE

Kita sudah melihat NEW_LINE dalam aksi. Itu sederhana tapi kuat - itu hanya memulai baris baru di output Anda. Berikut adalah contoh lain:

BEGIN
DBMS_OUTPUT.PUT_LINE('Line 1');
DBMS_OUTPUT.NEW_LINE;
DBMS_OUTPUT.PUT_LINE('Line 3');
END;
/

Output:

Line 1

Line 3

Perhatikan baris kosong antara "Line 1" dan "Line 3"? Itu adalah NEW_LINE yang bekerja!

GET_LINE dan GET_LINES

Prosedur ini sedikit berbeda - mereka digunakan untuk mengambil output dari buffer. Ini sangat berguna ketika Anda memanggil PL/SQL dari bahasa pemrograman lain dan ingin menangkap output.

Berikut adalah contoh sederhana GET_LINE:

DECLARE
v_line VARCHAR2(255);
v_status INTEGER;
BEGIN
DBMS_OUTPUT.PUT_LINE('This is a test');
DBMS_OUTPUT.GET_LINE(v_line, v_status);
IF v_status = 0 THEN
DBMS_OUTPUT.PUT_LINE('Retrieved: ' || v_line);
ELSE
DBMS_OUTPUT.PUT_LINE('No more lines');
END IF;
END;
/

Dalam contoh ini, kita menempatkan baris di buffer, kemudian segera mengambilnya dengan GET_LINE. Variabel v_status memberitahu kita apakah kita berhasil mengambil baris (0) atau jika tidak ada baris lain untuk diambil (1).

ENABLE dan DISABLE

Prosedur ini memungkinkan Anda menghidupkan dan mematikan DBMS_OUTPUT secara program. Berikut adalah contoh bagaimana Anda mungkin menggunakannya:

BEGIN
DBMS_OUTPUT.DISABLE;
DBMS_OUTPUT.PUT_LINE('You won''t see this');
DBMS_OUTPUT.ENABLE;
DBMS_OUTPUT.PUT_LINE('But you will see this!');
END;
/

Output:

But you will see this!

Seperti yang Anda lihat, PUT_LINE pertama tidak menghasilkan output karena kita menonaktifkan DBMS_OUTPUT. Setelah kita mengaktifkannya lagi, kita dapat melihat output secara normal.

Kesimpulan

Dan itu dia, teman-teman! Kita telah berpergian melalui negeri DBMS Output, dari penggunaan dasarnya hingga subprogramnya yang beragam. Ingat, DBMS Output adalah seperti suara program Anda - gunakanlah untuk memahami apa yang terjadi di dalam kode Anda, debug masalah, dan merayakan kesuksesan Anda.

Sekarang, sebagai Anda terus menjelajahi PL/SQL, Anda akan menemukan DBMS Output menjadi alat yang tak ternilai di dalam peralatan pengembangan Anda. Itu sederhana, itu kuat, dan sekarang, itu milik Anda!

Terus latih, tetap bersemangat, dan kodingsenang!

Credits: Image by storyset