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!
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:
- Aktifkan buffer DBMS Output
- 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:
-
SET SERVEROUTPUT ON;
mengaktifkan buffer DBMS Output. -
BEGIN
danEND;
menandai awal dan akhir blok PL/SQL kita. -
DBMS_OUTPUT.PUT_LINE('Hello, World!');
adalah perintah yang benar-benar mencetak pesan kita. - 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