Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Cara Membuat Variabel Record Datatype yang ditentukan Pengguna Di Oracle Database

Sejauh ini kita telah melihat cara membuat variabel tipe data record berbasis Tabel dan kursor. Yang tersisa adalah pengguna yang menentukan tipe data record yang akan kita bahas dalam tutorial hari ini.

Seperti namanya, catatan yang ditentukan pengguna adalah variabel catatan yang strukturnya ditentukan oleh pengguna, yang tidak seperti catatan berbasis tabel atau kursor yang strukturnya berasal dari tabel atau kursor masing-masing. Ini berarti bahwa dengan catatan yang ditentukan pengguna, Anda dapat memiliki kontrol penuh atas struktur variabel catatan Anda.

Proses pembuatan variabel record user define dibagi menjadi dua bagian. Sebelum mendefinisikan record, pertama-tama kita perlu mendefinisikan TYPE untuk variabel record. TYPE ini akan menjadi dasar dari variabel User Define Record dan akan membantu dalam mendorong strukturnya. Setelah TYPE berhasil dideklarasikan, maka kita dapat menggunakannya untuk membuat variabel record yang ditentukan pengguna.

Sintaks Catatan yang Ditentukan Pengguna di Database Oracle

Di bawah ini adalah sintaks untuk membuat TYPE untuk Variabel Tipe Data Rekam Buatan Pengguna.

TYPE type_name IS RECORD (
field_name1 datatype 1,
field_name2 datatype 2,
...
field_nameN datatype N 
);

Setelah TYPE kami dinyatakan, kami siap untuk membuat Variabel Rekam kami. Variabel ini kemudian akan memperoleh semua properti dari tipe yang digunakan untuk membuatnya. Dan berikut ini adalah sintaks untuk membuat variabel tipe data yang ditentukan pengguna.

record_name TYPE_NAME;

Apakah Anda memperhatikan bahwa tidak seperti Variabel Rekaman Berbasis Tabel atau Berbasis Kursor, kami tidak harus menggunakan atribut %ROWTYPE di sini untuk mendeklarasikan variabel rekaman?

Anda dapat menonton Video Tutorial di saluran YouTube saya untuk penjelasan mendetail tentang sintaks di atas.

Contoh:Cara Membuat Variabel Tipe Data Rekam Buatan Pengguna.

Langkah 1:Deklarasikan Jenis untuk Variabel Rekaman Buatan Pengguna

SET SERVEROUTPUT ON;
DECLARE
  TYPE rv_dept IS RECORD(
    f_name  VARCHAR2(20),
    d_name  DEPARTMENTS.department_name%TYPE 
  );

Langkah 2:Deklarasikan Variabel Rekam Buatan Pengguna

Setelah membuat TYPE, Anda siap untuk membuat Variabel Rekaman Buatan Pengguna Anda.

var1 rv_dept;

Pernyataan PL/SQL di atas akan membuat variabel record dengan nama VAR1.

Langkah 3:Inisialisasi Variabel Rekaman Buatan Pengguna.

Variabel record yang ditentukan pengguna dapat diinisialisasi dengan berbagai cara. Misalnya Anda dapat menginisialisasi variabel record secara langsung dengan menetapkan nilai menggunakan variabel penugasan atau Anda dapat mengambil nilai yang disimpan ke dalam kolom tabel menggunakan pernyataan SELECT-INTO. Jadi mari kita lanjutkan dengan contoh kita dan pelajari cara menginisialisasi variabel record yang ditentukan pengguna menggunakan pernyataan SELECT-INTO.

Selanjutnya saya akan menulis bagian eksekusi. Di bagian eksekusi kita akan memiliki pernyataan SELECT yang akan menggabungkan tabel karyawan dan tabel departemen dan mengembalikan nama depan dan nama departemen dari karyawan tertentu.

BEGIN
  SELECT first_name , department_name 
  INTO var1.f_name, var1.d_name
  FROM employees  join departments
  Using (department_id) WHERE employee_id = 100; 
  DBMS_OUTPUT.PUT_LINE(var1.f_name||' '||var1.d_name);
END;

Pernyataan pilih yang kita miliki di sini akan mengembalikan nama depan dan nama departemen karyawan yang id karyawannya adalah 100. Data untuk kedua kolom berasal dari tabel yang berbeda sehingga kami menggunakan JOIN di sini. Karena ada dua tabel berbeda yang terlibat dalam kueri, maka dalam situasi seperti itu, penggunaan Variabel Rekaman Berbasis Tabel tidak dimungkinkan, oleh karena itu solusi yang layak adalah variabel rekaman yang ditentukan pengguna.

Mari gabungkan semua potongan kode di atas menjadi satu blok PL/SQL anonim.

SET SERVEROUTPUT ON;
DECLARE
  TYPE rv_dept IS RECORD(
    f_name  VARCHAR2(20),
    d_name  departments.department_name%type 
  );
  var1 rv_dept;
BEGIN
  SELECT first_name , department_name 
  INTO var1.f_name, var1.d_name
  FROM employees  join departments
  Using (department_id) WHERE employee_id = 100;
  
  DBMS_OUTPUT.PUT_LINE(var1.f_name||' '||var1.d_name);
END;
/

Itulah cara kami membuat Variabel Tipe Data Rekam Buatan Pengguna di Oracle Database. Semoga Anda menikmati membaca dan belajar sesuatu yang baru. Saya juga memberikan merchandise RebellionRider kepada satu pemenang yang dipilih secara acak setiap bulan, jadi pastikan untuk membagikan blog ini dengan teman-teman Anda di media sosial Anda.

Itu saja, terima kasih &semoga harimu menyenangkan!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi ROUND(angka) di Oracle

  2. Pertanyaan Wawancara Oracle

  3. Menginstal Klien Oracle Warehouse Builder 11g R2

  4. Dalam SQL, apa artinya menggunakan tanda kurung dengan OR?

  5. 2 Fungsi untuk Mendapatkan Tahun dari Tanggal di Oracle