65 Pertanyaan dan Jawaban Wawancara PL/SQL (2024)
Pertanyaan dan Jawaban Wawancara PL/SQL untuk Mahasiswa Baru
1) Apa itu PL SQL?
Oracle PL/SQL adalah perpanjangan dari bahasa SQL yang menggabungkan kekuatan manipulasi data SQL dengan kekuatan pemrosesan bahasa prosedural untuk membuat kueri SQL yang sangat kuat. PL/SQL memastikan pemrosesan pernyataan SQL yang lancar dengan meningkatkan keamanan, portabilitas, dan ketahanan Database.
PL/SQL adalah singkatan dari “Ekstensi Bahasa Prosedural ke Bahasa Kueri Terstruktur.”
Unduh PDF Gratis: Pertanyaan & Jawaban Wawancara PL/SQL
2) Bedakan antara % ROWTYPE dan TYPE RECORD.
% JENIS BARIS digunakan ketika kueri mengembalikan seluruh baris tabel atau tampilan.
JENIS REKAM di sisi lain, digunakan ketika kueri mengembalikan kolom tabel atau tampilan berbeda.
Misalnya. JENIS r_emp adalah MEREKAM (sno smp.smpno%type,sname smp sname %type)
e_rec smp %JENIS BARIS
Kursor c1 adalah pilih smpno, jurusan dari smp;
e_rec c1 %JENIS BARIS
3) Jelaskan kegunaan kursor.
Kursor adalah area pribadi bernama dalam SQL tempat informasi dapat diakses. Mereka diharuskan memproses setiap baris satu per satu untuk kueri yang mengembalikan beberapa baris.
4) Tampilkan kode kursor untuk loop.
Kursor mendeklarasikan %ROWTYPE sebagai indeks loop secara implisit. Kursor kemudian membuka kursor, mengambil baris nilai dari set aktif di bidang rekaman, dan menutup saat semua rekaman diproses.
Misalnya.
FOR smp_rec IN C1 LOOP totalsal=totalsal+smp_recsal; ENDLOOP;
5) Jelaskan penggunaan pemicu basis data.
Unit program PL/SQL yang terkait dengan tabel database tertentu disebut pemicu database. Ini digunakan untuk:
1) Audit modifikasi data.
2) Catat peristiwa secara transparan.
3) Menegakkan aturan bisnis yang rumit.
4) Memelihara tabel replika
5) Turunkan nilai kolom
6) Terapkan otorisasi keamanan yang kompleks
6) Sebutkan dua jenis pengecualian.
Penanganan kesalahan bagian dari blok PL/SQL disebut Pengecualian. Mereka memiliki dua jenis: ditentukan pengguna dan ditentukan sebelumnya.
7) Tampilkan beberapa pengecualian yang telah ditentukan sebelumnya.
DUP_VAL_ON_INDEX
ZERO_DIVIDE
NO_DATA_FOUND
TOO_MANY_ROWS
CURSOR_ALREADY_OPEN
INVALID_NUMBER
INVALID_CURSOR
PROGRAM_ERROR
WAKTU _ON_RESOURCE
PENYIMPANAN_ERROR
LOGON_DENIED
VALUE_ERROR
dan sebagainya
8) Jelaskan Raise_application_error.
Ini adalah prosedur paket DBMS_STANDARD yang memungkinkan penerbitan pesan kesalahan yang ditentukan pengguna dari pemicu basis data atau sub-program yang disimpan.
9) Tunjukkan bagaimana fungsi dan prosedur dipanggil dalam blok PL SQL.
Fungsi disebut sebagai bagian dari ekspresi.
total:=calculate_sal('b644')
Prosedur disebut sebagai pernyataan di PL / SQL.
calculate_bonus('b644');
10) Jelaskan dua tabel virtual yang tersedia pada saat eksekusi pemicu database.
Kolom tabel disebut sebagai OLD.column_name dan NEW.column_name.
Untuk pemicu terkait INSERT, nilai NEW.column_name hanya tersedia.
Untuk pemicu terkait DELETE, nilai OLD.column_name hanya tersedia.
Untuk pemicu terkait UPDATE, kedua kolom Tabel tersedia.
11) Aturan apa yang diterapkan pada NULL saat melakukan perbandingan?
1) NULL tidak pernah BENAR atau SALAH
2) NULL tidak boleh sama atau tidak sama dengan nilai lainnya
3) Jika nilai dalam suatu ekspresi adalah NULL, maka ekspresi itu sendiri bernilai NULL kecuali untuk operator penggabungan (||)
12) Bagaimana proses PL SQL dikompilasi?
Proses kompilasi meliputi proses pemeriksaan sintaksis, pengikatan, dan pembuatan kode-p.
Pemeriksaan sintaks memeriksa kode PL SQL untuk kesalahan kompilasi. Ketika semua kesalahan diperbaiki, alamat penyimpanan diberikan ke variabel yang menyimpan data. Ini disebut Mengikat. P-code adalah daftar instruksi untuk mesin PL SQL. Kode-P disimpan dalam database untuk blok bernama dan digunakan saat dieksekusi berikutnya.
13) Bedakan antara Sintaks dan kesalahan runtime.
Kesalahan sintaksis dapat dengan mudah dideteksi oleh kompiler PL/SQL. Misalnya, ejaan yang salah.
Kesalahan runtime ditangani dengan bantuan bagian penanganan pengecualian di blok PL/SQL. Misalnya, pernyataan SELECT INTO, yang tidak mengembalikan baris apa pun.
14) Jelaskan Komit, Kembalikan, dan Savepoint.
Untuk pernyataan COMMIT, berikut ini benar:
- Pengguna lain dapat melihat perubahan data yang dilakukan oleh transaksi tersebut.
- Kunci yang diperoleh dari transaksi dilepaskan.
- Pekerjaan yang dilakukan oleh transaksi menjadi permanen.
Pernyataan ROLLBACK dikeluarkan saat transaksi berakhir dan berikut ini benar.
- Pekerjaan yang dilakukan dalam suatu transisi dibatalkan seolah-olah tidak pernah dikeluarkan.
- Semua kunci yang diperoleh melalui transaksi dilepaskan.
Ini membatalkan semua pekerjaan yang dilakukan oleh pengguna dalam suatu transaksi. Dengan SAVEPOINT, hanya sebagian transaksi yang dapat dibatalkan.
15) Definisikan Kursor Implisit dan Eksplisit.
Kursor bersifat implisit secara default. Pengguna tidak dapat mengontrol atau memproses informasi di kursor ini.
Jika kueri mengembalikan beberapa baris data, program akan menentukan kursor eksplisit. Hal ini memungkinkan aplikasi untuk memproses setiap baris secara berurutan saat kursor mengembalikannya.
16) Jelaskan kesalahan tabel mutasi.
Ini terjadi ketika pemicu mencoba memperbarui baris yang sedang digunakannya. Hal ini diperbaiki dengan menggunakan tampilan atau tabel sementara, sehingga database memilih satu dan memperbarui yang lain.
17) Kapan pernyataan deklarasi diperlukan?
Pernyataan DECLARE digunakan oleh blok anonim PL SQL seperti dengan prosedur yang berdiri sendiri dan tidak tersimpan. Jika digunakan, harus didahulukan dalam file yang berdiri sendiri.
18) Berapa banyak pemicu yang dapat diterapkan pada sebuah tabel?
Maksimal 12 pemicu dapat diterapkan pada satu tabel.
19) Apa pentingnya SQLCODE dan SQLERRM?
SQLCODE mengembalikan nilai jumlah kesalahan untuk kesalahan terakhir yang ditemui sedangkan SQLERRM mengembalikan pesan untuk kesalahan terakhir.
20) Jika kursor terbuka, bagaimana kita dapat menemukannya di Blok PL SQL?
variabel status kursor %ISOPEN dapat digunakan.
Pertanyaan Wawancara PL/SQL untuk berpengalaman
21) Tampilkan dua pengecualian kursor PL/SQL.
Kursor_Sudah_Terbuka
Invaid_cursor
22) Operator apa yang menangani NULL?
NVL mengonversi NULL ke nilai tertentu lainnya.
var:=NVL(var2,'Hi');
IS NULL dan IS NOT NULL dapat digunakan untuk mengecek secara spesifik apakah nilai suatu variabel NULL atau tidak.
23) Apakah SQL*Plus juga memiliki Mesin PL/SQL?
Tidak, SQL*Plus tidak memiliki Mesin PL/SQL yang tertanam di dalamnya. Dengan demikian, semua kode PL/SQL dikirim langsung ke mesin database. Ini jauh lebih efisien karena setiap pernyataan tidak dihilangkan satu per satu.
24) Paket apa saja yang tersedia untuk pengembang PL SQL?
Rangkaian paket DBMS_, seperti, DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.
25) Jelaskan 3 bagian dasar pemicu.
- Pernyataan atau peristiwa yang memicu.
- Sebuah batasan
- Sebuah aksi
26) Apa fungsi karakter?
INITCAP, UPPER, SUBSTR, LOWER dan LENGTH semuanya merupakan fungsi karakter. Fungsi grup memberikan hasil berdasarkan kelompok baris, bukan baris individual. Mereka adalah MAX, MIN, AVG, HITUNGAN dan JUMLAH.
27) Jelaskan JUDUL dan BTITLE.
Perintah TTITLE dan BTITLE yang mengontrol header dan footer laporan.
28) Tampilkan atribut kursor PL/SQL.
%ISOPEN:
Memeriksa apakah kursor terbuka atau tidak
%ROWCOUNT:
Jumlah baris yang diperbarui, dihapus, atau diambil.
%FOUND:
Memeriksa apakah kursor telah mengambil baris mana pun. Memang benar jika baris diambil
%NOT FOUND:
Memeriksa apakah kursor telah mengambil baris mana pun. Benar jika baris tidak diambil.
29) Apa itu Perpotongan?
Persimpangan adalah produk dari dua tabel dan hanya mencantumkan baris yang cocok.
30) Apa yang dimaksud dengan barisan?
Urutan digunakan untuk menghasilkan nomor urut tanpa overhead penguncian. Kekurangannya adalah nomor urutnya hilang jika transaksi dibatalkan.
31) Bagaimana Anda mereferensikan nilai kolom SEBELUM dan SETELAH Anda memasukkan dan menghapus pemicu?
Menggunakan kata kunci “nama kolom baru”, pemicu dapat mereferensikan nilai kolom berdasarkan koleksi baru. Dengan menggunakan kata kunci “nama kolom lama”, mereka dapat mereferensikan nilai kolom berdasarkan koleksi lama.
32) Apa kegunaan kata kunci SYSDATE dan USER?
SYSDATE mengacu pada tanggal sistem server saat ini. Itu adalah kolom semu. USER juga merupakan kolom semu tetapi mengacu pada pengguna saat ini yang masuk ke sesi. Mereka digunakan untuk memantau perubahan yang terjadi di tabel.
33) Bagaimana ROWID membantu menjalankan kueri lebih cepat?
ROWID adalah alamat logis dari sebuah baris, ini bukan kolom fisik. Ini terdiri dari nomor blok data, nomor file dan nomor baris di blok data. Dengan demikian, waktu I/O diminimalkan saat mengambil baris, dan menghasilkan kueri yang lebih cepat.
34) Untuk apa tautan basis data digunakan?
Tautan basis data dibuat untuk membentuk komunikasi antara berbagai basis data, atau lingkungan berbeda seperti pengujian, pengembangan, dan produksi. Tautan basis data juga bersifat baca-saja untuk mengakses informasi lainnya.
35) Apa gunanya mengambil kursor?
Mengambil kursor akan membaca Result Set baris demi baris.
36) Apa gunanya menutup kursor?
Menutup kursor akan menghapus area SQL pribadi serta membatalkan alokasi memori
37) Jelaskan kegunaan File Kontrol.
Ini adalah file biner. Ini mencatat struktur database. Ini mencakup lokasi beberapa file log, nama dan cap waktu. Mereka dapat disimpan di lokasi berbeda untuk membantu pengambilan informasi jika satu file rusak.
38) Jelaskan Konsistensi
Konsistensi menunjukkan bahwa data tidak akan tercermin ke pengguna lain sampai data tersebut dikomit, sehingga konsistensi tetap terjaga.
39) Perbedaan antara blok Anonim dan sub-program.
Blok anonim adalah blok tanpa nama yang tidak disimpan di mana pun saat sub-program dikompilasi dan disimpan dalam database. Mereka dikompilasi saat runtime.
40) Perbedaan antara DECODE dan CASE.
Pernyataan DECODE dan CASE sangat mirip, tetapi CASE adalah versi DECODE yang diperluas. DECODE tidak mengizinkan pernyataan pengambilan keputusan pada tempatnya.
pilih decode(totalsal=12000,'high',10000,'medium') sebagai decode_tesr dari smp dimana smpno masuk (10,12,14,16);
Pernyataan ini mengembalikan kesalahan.
CASE langsung digunakan di PL SQL, tetapi DECODE digunakan di PL SQL melalui SQL saja.
41) Menjelaskan transaksi otonom.
Transaksi otonom adalah transaksi independen dari transaksi utama atau induk. Itu tidak disarangkan jika dimulai dengan transaksi lain.
Ada beberapa situasi untuk menggunakan transaksi otonom seperti pencatatan peristiwa dan audit.
42) Bedakan antara SGA dan PGA.
SGA adalah singkatan dari System Global Area sedangkan PGA adalah singkatan dari Program atau Process Global Area. PGA hanya diberikan 10% ukuran RAM, namun SGA diberikan 40% ukuran RAM.
43) Di manakah lokasi Pre_definisi_fungsi.
Mereka disimpan dalam paket standar yang disebut “Fungsi, Prosedur dan Paket”
44) Jelaskan polimorfisme di PL SQL.
Polimorfisme adalah fitur OOP. Ini adalah kemampuan untuk membuat variabel, objek atau fungsi dengan berbagai bentuk. PL/SQL mendukung Polimorfisme dalam bentuk kelebihan unit program di dalam fungsi anggota atau paket..Logika yang tidak ambigu harus dihindari saat kelebihan beban sedang dilakukan.
45) Apa kegunaan MERGE?
MERGE digunakan untuk menggabungkan beberapa pernyataan DML menjadi satu.
Sintaks : digabungkan menjadi nama tabel
menggunakan (kueri)
aktif (kondisi bergabung)
bila tidak cocok maka
perintah [masukkan/perbarui/hapus].
ketika cocok maka
perintah [masukkan/perbarui/hapus].
Pertanyaan Wawancara PL/SQL selama 5+ Tahun Berpengalaman
46) Bisakah 2 kueri dieksekusi secara bersamaan dalam Sistem Basis Data Terdistribusi?
Ya, keduanya dapat dijalankan secara bersamaan. Satu kueri selalu independen dari kueri kedua dalam sistem basis data terdistribusi berdasarkan komitmen 2 fase.
47) Jelaskan Raise_application_error.
Ini adalah prosedur paket DBMS_STANDARD yang memungkinkan penerbitan pesan kesalahan yang ditentukan pengguna dari pemicu database atau sub-program yang disimpan.
48) Parameter out apa yang digunakan meskipun pernyataan return juga dapat digunakan di pl/sql?
Parameter keluar memungkinkan lebih dari satu nilai dalam program pemanggil. Parameter keluar tidak disarankan dalam fungsi. Prosedur dapat digunakan sebagai pengganti fungsi jika diperlukan beberapa nilai. Jadi, prosedur ini digunakan untuk mengeksekusi parameter Keluar.
49) Bagaimana cara mengubah tanggal menjadi format tanggal Julian?
Kita dapat menggunakan string format J:
SQL > pilih to_char(to_date('29-Mar-2013′,'dd-mon-yyyy'),'J') sebagai julian dari dual;
JULIAN
50) Jelaskan SPOOL
Perintah spool dapat mencetak output pernyataan sql dalam sebuah file.
spul/tmp/sql_outtxt
pilih nama_smp, smp_id dari smp dimana dept='akun';
tergulung;
51) Sebutkan paket PL/SQL terdiri dari apa?
Paket PL/SQL terdiri dari
- Tabel PL/SQL dan catat pernyataan TYPE
- Prosedur dan Fungsi
- kursor
- Variabel ( tabel, skalar, record, dll) dan konstanta
- Nama pengecualian dan pragma untuk menghubungkan nomor kesalahan dengan pengecualian
- kursor
52) Sebutkan apa manfaat paket PL/SQL?
Ini memberikan beberapa manfaat seperti
- Penyembunyian Informasi yang Dipaksa: Ia menawarkan kebebasan untuk memilih apakah akan menyimpan data pribadi atau publik
- Desain dari atas ke bawah: Anda dapat mendesain antarmuka ke kode yang tersembunyi di dalam paket sebelum Anda benar-benar mengimplementasikan modul itu sendiri
- Kegigihan objek: Objek yang dideklarasikan dalam spesifikasi paket berperilaku seperti data global untuk semua objek PL/SQL dalam aplikasi. Anda dapat memodifikasi paket dalam satu modul dan kemudian mereferensikan perubahan tersebut ke modul lain
- Desain berorientasi objek: Paket ini memberi pengembang kendali atas bagaimana modul dan struktur data di dalam paket dapat digunakan
- Menjamin integritas transaksi: Ini memberikan tingkat integritas transaksi
- Peningkatan performa: RDBMS secara otomatis melacak validitas semua objek program yang disimpan dalam database dan meningkatkan kinerja paket.
53) Sebutkan metode apa saja untuk melacak kode PL/SQL?
Menelusuri kode adalah teknik penting untuk mengukur kinerja kode selama runtime. Berbagai metode penelusuran meliputi
- DBMS_APPLICATION_INFO
- DBMS_TRACE
- DBMS_SESSION dan DBMS_MONITOR
- utilitas trcsess dan tkproof
54) Sebutkan apa yang dilakukan profiler hierarkis?
Profiler hierarkis dapat membuat profil panggilan yang dibuat dalam PL/SQL, selain mengisi celah antara celah dan harapan pelacakan kinerja. Efisiensi profiler hierarkis meliputi:
- Pelaporan yang berbeda untuk SQL dan konsumsi waktu PL/SQL
- Laporan menghitung panggilan sub-program berbeda yang dilakukan di PL/SQL, dan waktu yang dihabiskan untuk setiap panggilan subprogram
- Beberapa laporan analitik interaktif dalam format HTML dengan menggunakan utilitas baris perintah
- Lebih efektif dibandingkan profiler konvensional dan utilitas penelusuran lainnya
55) Sebutkan apa yang dapat dilakukan oleh pesan PLV?
Pesan PLV memungkinkan Anda melakukannya
- Tetapkan pesan teks individual ke baris tertentu dalam tabel PL/SQL
- Ini mengambil teks pesan berdasarkan nomor
- Ini secara otomatis menggantikan pesan Anda sendiri dengan pesan standar Oracle pesan kesalahan dengan tombol batasi
- Batch memuat nomor pesan dan teks dari tabel database secara langsung pesan PLV tabel PL/SQL
56) Sebutkan apa saja yang ditawarkan paket PLV (PL/Vision)?
- Nilai substitusi nol
- Serangkaian rutinitas pernyataan
- Utilitas lain-lain
- Kumpulan konstanta yang digunakan di seluruh visi PL
- Tipe data yang telah ditentukan sebelumnya
57) Sebutkan apa kegunaan PLVprs dan PLVprsps?
- PLVpr: Ini adalah ekstensi untuk penguraian string untuk PL/SQL, dan merupakan fungsionalitas penguraian string tingkat terendah
- PLVprsps: Ini adalah paket tingkat tertinggi untuk mengurai kode sumber PL/SQL menjadi atom-atom terpisah. Paket ini bergantung pada paket-paket penguraian lain untuk menyelesaikan pekerjaan.
58) Jelaskan bagaimana Anda dapat menyalin file ke konten file dan file ke tabel PL/SQL terlebih dahulu PL/SQL?
Dengan satu panggilan program – “prosedur fcopy”, Anda dapat menyalin isi lengkap dari satu file ke file lain. Sedangkan untuk menyalin isi suatu file langsung ke dalam tabel PL/SQL dapat menggunakan program “file2pstab”.
59) Jelaskan bagaimana penanganan pengecualian dilakukan terlebih dahulu PL/SQL?
Untuk penanganan pengecualian PL/SQL menyediakan plugin PLVexc yang efektif. PLVexc mendukung empat tindakan penanganan pengecualian yang berbeda.
- Lanjutkan pemrosesan
- Rekam dan kemudian lanjutkan
- Hentikan pemrosesan
- Rekam dan kemudian hentikan pemrosesan
Untuk pengecualian yang muncul kembali, Anda dapat menggunakan pernyataan RAISE.
60) Sebutkan masalah apa yang mungkin dihadapi saat menulis informasi log ke tabel database di PL/SQL?
Saat menulis informasi log ke tabel basis data, masalah yang Anda hadapi adalah bahwa informasi tersebut hanya tersedia setelah baris baru dimasukkan ke basis data. Ini mungkin menjadi masalah karena PLVlog biasanya digunakan untuk melacak kesalahan dan dalam banyak kasus seperti itu transaksi saat ini akan gagal atau memerlukan rollback.
61) Sebutkan fungsi apa yang digunakan untuk mentransfer log tabel PL/SQL ke tabel database?
Untuk mentransfer tabel PL/SQL, log fungsi tabel log database “PROSEDUR ps2db” digunakan.
62) Kapan Anda harus menggunakan savepoint “rollback to” default PLVlog?
Savepoint “rollback to” default dari PLVlog digunakan ketika pengguna telah mengaktifkan aktivitas rollback dan belum menyediakan savepoint alternatif dalam panggilan ke put_line. Savepoint default diinisialisasi ke konstanta c none.
63) Mengapa PLVtab dianggap sebagai cara termudah untuk mengakses tabel PL/SQL?
Tabel PL/SQL adalah yang paling dekat dengan array di PL/SQL, dan untuk mengakses tabel ini Anda harus mendeklarasikan tipe tabel terlebih dahulu, lalu Anda harus mendeklarasikan tabel PL/SQL itu sendiri. Namun dengan menggunakan PLVtab, Anda dapat menghindari menentukan tipe tabel PL/SQL Anda sendiri dan membuat akses tabel data PL/SQL menjadi mudah.
64) Sebutkan apa yang PLVtab memungkinkan Anda lakukan ketika Anda menampilkan konten tabel PL/SQL?
PLVtab memungkinkan Anda melakukan hal-hal berikut saat Anda menampilkan konten tabel PL/SQL
- Menampilkan atau menyembunyikan header tabel
- Menampilkan atau menyembunyikan nomor baris untuk nilai tabel
- Tampilkan awalan sebelum setiap baris tabel
65) Jelaskan bagaimana cara menyimpan atau menempatkan pesan Anda di tabel?
Untuk menyimpan pesan dalam sebuah tabel, Anda dapat melakukannya dengan dua cara
- Muat pesan individual dengan panggilan ke
add_text
Prosedur - Memuat kumpulan pesan dari tabel database dengan
load_from_dbms
Prosedur
66) Sebutkan apa gunanya fungsi “prosedur modul” di PL/SQL?
“Prosedur modul” memungkinkan untuk mengkonversi semua baris kode dalam unit program tertentu dengan satu pemanggilan prosedur. Ada tiga argumen untuk modul
- modul_masuk
- cor_in
- Modul_terakhir_masuk
67) Sebutkan apa yang dilakukan PLVcmt dan PLVrb di PL/SQL?
PL/Vision menawarkan dua paket yang membantu Anda mengelola pemrosesan transaksi dalam aplikasi PL/SQL. Ini adalah PLVcmt dan PLVrb.
- PLVcmt: Paket PLVcmt membungkus logika dan kompleksitas untuk menangani pemrosesan komit
- PLVrb: Ini menyediakan antarmuka terprogram untuk mengembalikan aktivitas di PL/SQL
Pertanyaan wawancara ini juga akan membantu dalam viva Anda (lisan)