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