Panduan Pemula untuk Variabel PL/SQL

Hai sana, para ahli PL/SQL masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia variabel PL/SQL. Jangan khawatir jika Anda baru dalam programming - saya akan menjadi panduan ramah Anda, dan kita akan melakukannya langkah demi langkah. Pada akhir panduan ini, Anda akan dapat mengelilingkan variabel seperti seorang ahli!

PL/SQL - Variables

Apa Itu Variabel?

Sebelum kita mendalam, mari pahami apa itu variabel. Picturkan variabel seperti wadah kecil dalam memori komputer Anda yang menyimpan data. Seperti halnya Anda mungkin 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, "Hai, saya di sini, dan ini adalah apa yang bisa saya tangkap!"

Sintaks Dasar

Sintaks dasar untuk mendeklarasikan variabel di PL/SQL adalah:

variable_name datatype;

Bongkarlah ini:

  • variable_name adalah apa yang Anda pilih untuk menyebut variabel Anda
  • datatype adalah jenis data yang dapat variabel tangkap

Contoh

DECLARE
my_name VARCHAR2(50);
my_age NUMBER;
is_student BOOLEAN;
BEGIN
-- Kode Anda di sini
END;

Dalam contoh ini:

  • my_name dapat menangkap hingga 50 karakter
  • my_age dapat menangkap sebuah nomor
  • is_student dapat 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 sudah mendeklarasikan variabel kita, mari memberikan mereka nilai! Proses ini disebut inisialisasi.

Inisialisasi Dasar

Anda dapat inisialisasi variabel langsung saat Anda 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 nilai. Dalam kasus ini, Anda dapat menggunakan NULL:

DECLARE
user_input VARCHAR2(100) := NULL;
BEGIN
-- Kita akan mendapatkan input pengguna kemudian
END;

Rentang Variabel di PL/SQL

Rentang variabel adalah seperti lingkungan sekitar variabel - itu menentukan di mana variabel dapat dilihat dan digunakan.

Variabel Lokal

Variabel yang dideklarasikan dalam blok adalah lokal ke 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 berjalan
DBMS_OUTPUT.PUT_LINE(inner_variable);  -- Ini juga berjalan
END;

DBMS_OUTPUT.PUT_LINE(outer_variable);  -- Ini berjalan
-- 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 sebuah variabel 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 bagaimana ia secara mulus berintegrasikan 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 dalam 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 dalam tabel PL/SQL. Kita kemudian perulangan melalui tabel ini untuk mencetak setiap nama.

Dan begitu juga, teman-teman! Kita telah meliputi dasar-dasar variabel PL/SQL, dari deklarasi ke inisialisasi, rentang, dan bahkan bagaimana mengisi mereka dengan hasil query SQL. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba konsep ini.

Sebelum saya akhir, ini adalah sedikit lelucon programer untuk Anda: Mengapa programer meninggalkan pekerjaannya? Karena dia tidak mendapatkan array (naik gaji)! ?

Selamat coding, dan semoga variabel Anda selalu berkelakuan baik!

Credits: Image by storyset