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

Apa itu catatan PLSQL di Oracle

Catatan Oracle PLSQL

  • Catatan PLSQL adalah tipe data komposit. Ini adalah sekelompok item data terkait sebagai bidang, masing-masing dengan nama dan tipe datanya sendiri.
  • Catatan PL/SQL memiliki struktur yang mirip dengan baris dalam tabel database. Setiap tipe data skalar dalam record memiliki nilai.
  • Record terdiri dari komponen skalar, record PL/SQL, atau jenis tabel PL/SQL.
  • Mereka dapat dimanipulasi sebagai satu unit .Catatan dapat memiliki bidang sebanyak yang diperlukan.

Cara mendeklarasikan catatan Oracle PLSQL

( A)Data PLSQL Buatan Pengguna

DECLARE TYPE employee_record_type IS RECORD 
 (emp_id NUMBER(10) NOT NULL,
 dept_no dept.deptno%TYPE,
 nаme varchar2(20),
 hire_dаte DATE := SYSDATE
 Last_name varchar2(20)
 );
 employee_record employee_record_type;

(1) Tidak ada tipe data yang telah ditentukan sebelumnya untuk Record seperti halnya untuk tipe data skalar. Jadi, Anda harus membuat terlebih dahulu dan kemudian menetapkan

(2) Setiap Kolom dalam Catatan  memiliki nama unik dan tipe data tertentu

(3) %TYPE digunakan untuk mendeklarasikan variabel yang bertipe sama dengan kolom tabel yang ditentukan.

(4) kami menggunakan TYPE . . . Pernyataan RECORD untuk membuat tipe record Anda sendiri adalah ketika bidang record Anda harus bertipe spesifik PL/SQL, seperti BOOLEAN. Jika Anda menggunakan %ROWTYPE, tipe data dari semua bidang akan dibatasi ke tipe SQL

(5) Rekaman itu sendiri adalah tipe data khusus PL/SQL, jadi fitur bagus lainnya dari jenis rekaman yang ditentukan pengguna adalah Anda dapat menentukan jenis rekaman sebagai bidang di lain jenis rekaman

DECLARE 
 TYPE emp_phone IS RECORD
 (
 Stdcode      PLS_INTEGER,
 phn_number   PLS_INTEGER,
 extension    PLS_INTEGER
 );
 TYPE contact_phone IS RECORD
 (
 day_phone#    emp_phone,
 eve_phone#    emp_phone,
 cell_phone#   emp_phone
 );
 sales_rep contact_phone;

B) Kita juga dapat mendefinisikan rekam sebagai tipe Baris Tabel

MENYATAKAN sales_data_rec apps.sales_data%ROWTYPE;

1) Ini memungkinkan kita untuk mendeklarasikan record berdasarkan kumpulan kolom dalam tabel atau tampilan

2) Kami menggunakan awalan %ROWTYPE dengan tabel database untuk mendeklarasikannya

3) Field dalam record mengambil nama dan tipe datanya dari kolom tabel

C) Kita juga dapat menggunakan %ROWTYPE untuk mendeklarasikan record yang memiliki struktur yang sama dengan pernyataan SELECT dalam kursor.

Ini sangat membantu untuk mengambil subset kolom dari tabel atau kolom dari beberapa tabel.

DECLARE 
 CURSOR emp_cur
 IS
 SELECT lastname, age,firstname FROM employees;
 l_employee   emp_cur%ROWTYPE;

Setiap kali Anda mengambil data dari kursor ke variabel PL/SQL, Anda harus mendeklarasikan catatan berdasarkan kursor itu dengan %ROWTYPE dan mengambilnya ke dalam catatan itu. Dengan cara ini, kapan dan jika daftar SELECT kursor berubah, jumlah, dan jenis bidang dalam catatan akan berubah sesuai dan semuanya akan tetap sinkron.

Cara Melewati nilai ke catatan Oracle PLSQL

Sintaks Penggunaan
rec_name.col_name :=nilai; Untuk secara langsung menetapkan nilai ke kolom tertentu dari catatan.
rec_name.column_name :=nilai; Untuk secara langsung menetapkan nilai ke kolom tertentu dari record, jika record dideklarasikan menggunakan %ROWTYPE.
SELECT column1, column2 INTO rec_name.col_name1, rec_name.col_name2 FROM table_name [WHERE clause]; Untuk menetapkan nilai ke setiap bidang catatan dari tabel database.
SELECT * INTO record_name FROM table_name [WHERE clause]; Untuk menetapkan nilai ke semua bidang dalam catatan dari tabel database.
nama_variabel :=record_name.col_name; Untuk mendapatkan nilai dari kolom record dan menetapkannya ke variabel.

Anda harus membaca  postingan PLSQL lainnya

Struktur dan Jenis Blok Oracle PLSQL
Pertanyaan wawancara Oracle plsql
Tutorial cepat Oracle sql dan plsql


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana mengubah Port Web di EBS 12.2

  2. Cara Membuat PL/SQL SYS_REFCURSOR Di Database Oracle

  3. Fungsi JSON_ARRAYAGG() di Oracle

  4. Opsi Pengiriman saat Mengirimkan Permintaan Bersamaan Di R12.1.3

  5. Menambahkan nama Skema ke entitas di data Spring?