PL/SQL - Variabel: Panduan untuk Pemula
Halo sana, para ahli PL/SQL masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia variabel PL/SQL. Jangan khawatir jika Anda baru saja memulai programming - saya akan menjadi panduan teman baik Anda, dan kita akan mengambil langkah ini secara bertahap. Pada akhir panduan ini, Anda akan dapat mengelola variabel seperti seorang ahli!
Apa Itu Variabel?
Sebelum kita masuk ke detil, mari kita mengerti apa itu variabel. Variabel adalah seperti kotak kecil di memori komputer Anda yang menyimpan data. Seperti halnya Anda menggunakan kotak yang berbeda untuk menyimpan jenis item yang berbeda di kamar Anda, kita menggunakan variabel untuk menyimpan jenis data yang berbeda dalam program kita.
Deklarasi Variabel di PL/SQL
Dalam PL/SQL, mendeklarasikan variabel adalah seperti memperkenalkan diri Anda kepada seseorang baru. Anda memberitahu program, "Halo, saya disini, dan ini adalah apa yang saya bisa pegang!"
Sintaks Dasar
Sintaks dasar untuk mendeklarasikan variabel di PL/SQL adalah:
variable_name datatype;
mari kitauraikan ini:
-
variable_name
adalah nama yang Anda pilih untuk variabel Anda -
datatype
adalah jenis data yang variabel dapat pegang
Contoh
DECLARE
my_name VARCHAR2(50);
my_age NUMBER;
is_student BOOLEAN;
BEGIN
-- Kode Anda disini
END;
Dalam contoh ini:
-
my_name
dapat memegang hingga 50 karakter -
my_age
dapat memegang sebuah nomor -
is_student
dapat berupa TRUE atau FALSE
Ingat, dalam PL/SQL, kita mendeklarasikan variabel di bagian DECLARE, sebelum pernyataan BEGIN.
Jenis Data Umum
Berikut adalah tabel jenis data umum yang Anda akan temui:
Jenis Data | Deskripsi | Contoh |
---|---|---|
VARCHAR2 | String karakter variabel panjang | 'Hello, World!' |
NUMBER | Nilai numerik | 42, 3.14 |
DATE | Nilai tanggal dan waktu | '01-JAN-2023' |
BOOLEAN | Nilai logis (TRUE/FALSE) | TRUE |
Inisialisasi Variabel di PL/SQL
Sekarang kita telah mendeklarasikan variabel, mari kita memberikan mereka nilai! Proses ini disebut inisialisasi.
Inisialisasi Dasar
Anda dapat menginisialisasi variabel langsung saat mendeklarasikannya:
DECLARE
greeting VARCHAR2(20) := 'Hello, PL/SQL!';
lucky_number NUMBER := 7;
BEGIN
DBMS_OUTPUT.PUT_LINE(greeting);
DBMS_OUTPUT.PUT_LINE('Nomor keberuntungan saya adalah: ' || lucky_number);
END;
Dalam contoh ini, kita menyapa PL/SQL dan berbagi nomor keberuntungan kita. :=
adalah operator penugasan di PL/SQL.
Inisialisasi dengan NULL
kadang-kadang, Anda mungkin ingin mendeklarasikan variabel tetapi belum memberikan nilainya. Dalam kasus ini, Anda dapat menggunakan NULL:
DECLARE
user_input VARCHAR2(100) := NULL;
BEGIN
-- Kita akan mendapatkan input pengguna nanti
END;
Skop Variabel di PL/SQL
Skop variabel adalah seperti lingkungan sekitar variabel - itu menentukan di mana variabel dapat dilihat dan digunakan.
Variabel Lokal
Variabel yang dideklarasikan dalam blok adalah lokal terhadap blok itu. Mereka tidak dapat dilihat di luar blok mereka.
DECLARE
outer_variable VARCHAR2(20) := 'Saya di luar!';
BEGIN
DBMS_OUTPUT.PUT_LINE(outer_variable);
DECLARE
inner_variable VARCHAR2(20) := 'Saya di dalam!';
BEGIN
DBMS_OUTPUT.PUT_LINE(outer_variable); -- Ini berfungsi
DBMS_OUTPUT.PUT_LINE(inner_variable); -- Ini juga berfungsi
END;
DBMS_OUTPUT.PUT_LINE(outer_variable); -- Ini berfungsi
-- DBMS_OUTPUT.PUT_LINE(inner_variable); -- Ini akan menyebabkan kesalahan
END;
Dalam contoh ini, inner_variable
adalah seperti seorang teman malu yang hanya muncul di pesta blok dalam. Blok luar tidak dapat melihatnya!
Variabel Global
Jika Anda ingin membuat variabel yang dapat dilihat di seluruh program Anda, Anda dapat mendeklarasikannya dalam blok terluar.
DECLARE
global_var NUMBER := 100;
PROCEDURE print_global IS
BEGIN
DBMS_OUTPUT.PUT_LINE('Nilai variabel global: ' || global_var);
END;
BEGIN
print_global;
global_var := global_var + 50;
print_global;
END;
Di sini, global_var
adalah seperti seorang anak populer - semua orang kenal dan dapat berinteraksi dengannya!
Menugaskan Hasil Query SQL ke Variabel PL/SQL
Salah satu hal yang menarik tentang PL/SQL adalah integrasinya yang mulus dengan SQL. Anda dapat menggunakan query SQL untuk menugaskan nilai ke variabel PL/SQL Anda!
Query Satu Baris
DECLARE
employee_name VARCHAR2(100);
employee_salary NUMBER;
BEGIN
SELECT first_name || ' ' || last_name, salary
INTO employee_name, employee_salary
FROM employees
WHERE employee_id = 100;
DBMS_OUTPUT.PUT_LINE('Karyawan: ' || employee_name);
DBMS_OUTPUT.PUT_LINE('Gaji: $' || employee_salary);
END;
Dalam contoh ini, kita mengambil nama dan gaji karyawan dari tabel employees
dan menyimpannya di variabel PL/SQL kita.
Query Banyak Baris
Untuk banyak baris, kita perlu menggunakan cursor atau bulk collect. Berikut adalah contoh dengan bulk collect:
DECLARE
TYPE name_table_type IS TABLE OF VARCHAR2(100);
employee_names name_table_type;
BEGIN
SELECT first_name || ' ' || last_name
BULK COLLECT INTO employee_names
FROM employees
WHERE department_id = 60;
FOR i IN 1..employee_names.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Karyawan ' || i || ': ' || employee_names(i));
END LOOP;
END;
Skrip ini mengambil semua nama karyawan dari departemen 60 dan menyimpannya di tabel PL/SQL. Kita kemudian meloop melalui tabel ini untuk mencetak setiap nama.
Dan itu dia, teman-teman! Kita telah meliputi dasar-dasar variabel PL/SQL, dari deklarasi ke inisialisasi, skop, dan bahkan bagaimana mengisi mereka dengan hasil query SQL. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba konsep ini.
Sebelum saya tinggal, ini adalah sedikit lelucon programer untuk Anda: Mengapa programer meninggalkan pekerjaannya? Karena dia tidak mendapat array (naik gaji)! ?
Selamat coding, dan semoga variabel Anda selalu berkelakuan baik!
Credits: Image by storyset