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!

PL/SQL - Variables

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