Muat turun PDF
1) Apa itu PL SQL?
PL SQL adalah bahasa prosedural yang mempunyai SQL interaktif, serta konstruksi bahasa pengaturcaraan prosedural seperti percabangan dan lelaran bersyarat.
2) Bezakan antara% ROWTYPE dan JENIS REKOD.
% ROWTYPE digunakan apabila pertanyaan mengembalikan keseluruhan baris jadual atau pandangan.
JENIS REKOD, sebaliknya, digunakan apabila pertanyaan mengembalikan lajur yang berlainan jadual atau pandangan.
Cth. JENIS r_emp adalah REKOD (sno smp.smpno% type, sname smp sname% type)
e_rec smp% ROWTYPE
Kursor c1 dipilih smpno, dari smp;
e_rec c1% ROWTYPE
3) Terangkan penggunaan kursor.
Kursor adalah kawasan peribadi bernama SQL dari mana maklumat dapat diakses. Mereka diminta untuk memproses setiap baris secara berasingan untuk pertanyaan yang mengembalikan beberapa baris.
4) Tunjukkan kod kursor untuk gelung.
Kursor menyatakan% ROWTYPE sebagai indeks gelung secara tidak langsung. Ia kemudian membuka kursor, mendapat baris nilai dari set aktif dalam bidang rekod dan ditutup ketika semua rekod diproses.
Cth. UNTUK smp_rec DI C1 LOOP
totalals = totalalsal + smp_recsal;
TAMAT AKHIR;
5) Terangkan penggunaan pencetus pangkalan data.
Unit program PL / SQL yang dikaitkan dengan jadual pangkalan data tertentu disebut pemicu pangkalan data. Ia digunakan untuk:
1) Pengubahsuaian data audit.
2) Log peristiwa dengan telus.
3) Menguatkuasakan peraturan perniagaan yang kompleks.
4) Menyelenggara jadual replika
5) Turunkan nilai lajur
6) Melaksanakan kebenaran keselamatan yang kompleks
6) Apakah dua jenis pengecualian.
Kesalahan semasa mengendalikan sebahagian blok PL / SQL disebut Pengecualian. Mereka mempunyai dua jenis: user_defined dan preefined.
7) Tunjukkan beberapa pengecualian yang telah ditentukan.
DUP_VAL_ON_INDEX
ZERO_DIVIDE
TIADA DATA DIJUMPAI
TERLALU_MANY_ROWS
CURSOR_ALREADY_OPEN
NOMBOR TIDAK SAH
INVALID_CURSOR
PROGRAM_ERROR
WAKTU _ON_RESOURCE
STORAGE_ERROR
LOGON_DENAIKAN
VALUE_ERROR
dan lain-lain.
8) Terangkan Raise_application_error.
Ini adalah prosedur pakej DBMS_STANDARD yang memungkinkan pengeluaran mesej ralat yang ditentukan pengguna dari pencetus pangkalan data atau sub-program yang disimpan.
9) Tunjukkan bagaimana fungsi dan prosedur dipanggil dalam blok PL SQL.
Fungsi disebut sebagai bahagian ungkapan.
jumlah: = hitung_sal ('b644')
Prosedur dipanggil sebagai pernyataan dalam PL / SQL.
hitung_bonus ('b644');
10) Terangkan dua jadual maya yang tersedia pada masa pelaksanaan pencetus pangkalan data.
Lajur jadual disebut sebagai THEN.column_name dan NOW.column_name.
Untuk pencetus berkaitan INSERT, SEKARANG.nama_kolom_nama hanya tersedia.
Untuk pencetus yang berkaitan DELETE, THEN.nama_kolom_nama hanya tersedia.
Untuk pencetus yang berkaitan dengan UPDATE, kedua-dua lajur Jadual tersedia.
11) Apakah peraturan yang harus diterapkan pada NULL ketika melakukan perbandingan?
1) NULL tidak pernah BENAR atau SALAH
2) NULL tidak boleh sama atau tidak sama dengan nilai lain
3) Sekiranya nilai dalam ekspresi adalah NULL, maka ekspresi itu sendiri dinilai menjadi NULL kecuali untuk operator gabungan (||)
12) Bagaimana proses PL SQL disusun?
Proses penyusunan merangkumi proses penjanaan sintaks, penjilidan dan p-kod.
Pemeriksaan sintaks memeriksa kod PL SQL untuk kesalahan penyusunan. Apabila semua kesalahan diperbaiki, alamat penyimpanan diberikan kepada pemboleh ubah yang menyimpan data. Ia dipanggil Binding. P-code adalah senarai arahan untuk mesin PL SQL. P-code disimpan di dalam pangkalan data untuk blok bernama dan digunakan pada waktu berikutnya dijalankan.
13) Bezakan antara kesalahan Sintaks dan runtime.
Kesalahan sintaks dapat dikesan dengan mudah oleh penyusun PL / SQL. Contohnya, ejaan yang salah.
Kesalahan runtime ditangani dengan bantuan bahagian pengendalian pengecualian dalam blok PL / SQL. Contohnya, pilih SELECT INTO, yang tidak mengembalikan baris.
14) Jelaskan Commit, Rollback dan Savepoint.
Untuk pernyataan KOMIT, perkara berikut adalah benar:
- Pengguna lain dapat melihat perubahan data yang dibuat oleh transaksi.
- Kunci yang diperolehi oleh transaksi dilepaskan.
- Kerja yang dilakukan oleh urus niaga menjadi kekal.
Pernyataan ROLLBACK dikeluarkan apabila urus niaga berakhir, dan berikut adalah benar.
- Pekerjaan yang dilakukan dalam peralihan akan dibatalkan seolah-olah tidak pernah dikeluarkan.
- Semua kunci yang diperoleh melalui transaksi dilepaskan.
Ini membatalkan semua kerja yang dilakukan oleh pengguna dalam transaksi. Dengan SIMPANAN, hanya sebahagian daripada urus niaga yang boleh dibuat asal.
15) Tentukan Kursor Tersirat dan Tersurat.
Kursor tersirat secara lalai. Pengguna tidak dapat mengawal atau memproses maklumat dalam kursor ini.
Sekiranya pertanyaan mengembalikan beberapa baris data, program menentukan kursor eksplisit. Ini membolehkan aplikasi memproses setiap baris secara berurutan ketika kursor mengembalikannya.
16) Jelaskan kesalahan jadual bermutasi.
Ia berlaku ketika pemicu cuba mengemas kini baris yang sedang digunakannya. Ia diperbaiki dengan menggunakan paparan atau jadual sementara, jadi pangkalan data memilih satu dan mengemas kini yang lain.
17) Bilakah pernyataan menyatakan diperlukan?
Pernyataan DECLARE digunakan oleh blok tanpa nama PL SQL seperti prosedur yang berdiri sendiri dan tidak disimpan. Sekiranya digunakan, ia mesti didahulukan dalam fail yang berdiri sendiri.
18) Berapa banyak pencetus yang dapat diterapkan pada jadual?
Maksimum 12 pencetus dapat digunakan pada satu jadual.
19) Apakah kepentingan SQLCODE dan SQLERRM?
SQLCODE mengembalikan nilai bilangan ralat untuk ralat yang terakhir dijumpai sedangkan SQLERRM mengembalikan mesej untuk ralat terakhir.
20) Jika kursor terbuka, bagaimana kita dapat mencari di Blok PL SQL?
pemboleh ubah status kursor% ISOPEN boleh digunakan.
21) Tunjukkan dua pengecualian kursor PL / SQL.
Kursor_ Sudah_Buka
Kursor Invaid
22) Pengendali apa yang berurusan dengan NULL?
NVL menukar NULL ke nilai lain yang ditentukan.
var: = NVL (var2, 'Hai');
IS NULL dan TIDAK NULL boleh digunakan untuk memeriksa secara khusus untuk melihat sama ada nilai pemboleh ubah adalah NULL atau tidak.
23) Adakah SQL * Plus juga mempunyai Mesin PL / SQL?
Tidak, SQL * Plus tidak mempunyai Mesin PL / SQL yang tertanam di dalamnya. Oleh itu, semua kod PL / SQL dihantar terus ke mesin pangkalan data. Ia lebih berkesan kerana setiap pernyataan tidak dilucutkan secara individu.
24) Pakej apa yang tersedia untuk pemaju PL SQL?
Siri pakej DBMS_, seperti, DBMS_PIPE, DBMS_DDL, DBMS_LOCK, DBMS_ALERT, DBMS_OUTPUT, DBMS_JOB, DBMS_UTILITY, DBMS_SQL, DBMS_TRANSACTION, UTL_FILE.
25) Terangkan 3 bahagian asas pencetus.
- Pernyataan atau peristiwa yang mencetuskan.
- Sekatan
- Tindakan
26) Apakah fungsi watak?
INITCAP, UPPER, SUBSTR, LOWER dan LENGTH adalah semua fungsi watak. Fungsi kumpulan memberikan hasil berdasarkan kumpulan baris, berbanding dengan baris individu. Mereka adalah MAX, MIN, AVG, COUNT dan SUM.
27) Terangkan TAJUK dan BTITLE.
Perintah TTITLE dan BTITLE yang mengawal tajuk dan footer laporan.
28) Tunjukkan atribut kursor PL / SQL.
% ISOPEN: Memeriksa kursor terbuka atau tidak
% ROWCOUNT: Bilangan baris yang dikemas kini, dihapus atau diambil.
% DITEMUKAN: Memeriksa sama ada kursor mengambil sebarang baris. Memang benar jika baris diambil
% TIDAK DITEMUKAN: Memeriksa sama ada kursor mengambil sebarang baris. Benar jika baris tidak diambil.
29) Apa itu Persilangan?
Intersect adalah produk dari dua jadual dan hanya menyenaraikan baris yang sepadan.
30) Apakah urutan?
Urutan digunakan untuk menghasilkan nombor urutan tanpa penguncian overhead. Kelemahannya adalah bahawa nombor urutan hilang jika urus niaga dikembalikan.
31) Bagaimana anda merujuk nilai lajur SEBELUM dan SELEPAS anda memasukkan dan menghapus pemicu?
Dengan menggunakan kata kunci "new.column name", pencetus dapat merujuk nilai lajur dengan koleksi baru. Dengan menggunakan kata kunci "old.column name", mereka dapat merujuk vaues lajur dengan koleksi lama.
32) Apakah kegunaan kata kunci SYSDATE dan PENGGUNA?
SYSDATE merujuk kepada tarikh sistem pelayan semasa. Ia adalah lajur semu. PENGGUNA juga merupakan ruangan pseudo tetapi merujuk kepada pengguna semasa yang masuk ke sesi. Mereka digunakan untuk memantau perubahan yang berlaku dalam jadual.
33) Bagaimana ROWID membantu menjalankan pertanyaan dengan lebih pantas?
ROWID adalah alamat logik baris, bukan lajur fizikal. Ia terdiri daripada nombor blok data, nombor fail dan nombor baris di blok data. Oleh itu, masa I / O diminimumkan untuk mengambil baris, dan menghasilkan pertanyaan yang lebih pantas.
34) Untuk apa pautan pangkalan data digunakan?
Pautan pangkalan data dibuat untuk membentuk komunikasi antara pelbagai pangkalan data, atau persekitaran yang berbeza seperti ujian, pengembangan dan pengeluaran. Pautan pangkalan data hanya boleh dibaca untuk mengakses maklumat lain.
35) Apa yang dilakukan oleh mengambil kursor?
Mengambil kursor berbunyi Result Set baris demi baris.
36) Apa yang dilakukan oleh menutup kursor?
Menutup kursor akan membersihkan kawasan SQL peribadi dan juga membuang memori
37) Terangkan kegunaan Fail Kawalan.
Ia adalah fail binari. Ia mencatat struktur pangkalan data. Ia merangkumi lokasi beberapa fail log, nama dan cap waktu. Mereka boleh disimpan di lokasi yang berlainan untuk membantu mendapatkan maklumat sekiranya satu fail rosak.
38) Jelaskan Ketekalan
Konsistensi menunjukkan bahawa data tidak akan dapat dilihat kepada pengguna lain hingga data tersebut dilakukan, sehingga konsistensi dipertahankan.
39) Perbezaan antara blok Anonim dan sub-program.
Blok tanpa nama adalah blok tanpa nama yang tidak disimpan di mana sahaja sementara sub-program disusun dan disimpan dalam pangkalan data. Ia disusun pada waktu runtime.
40) Bezakan antara DEKOD dan KES.
Pernyataan DECODE dan CASE sangat serupa, tetapi CASE adalah versi DECODE yang diperluas. DECODE tidak membenarkan pernyataan Membuat Keputusan sebagai gantinya.
pilih decode (total = 12000, 'high', 10000, 'medium') sebagai decode_tesr dari smp tempat smpno masuk (10,12,14,16);
Penyataan ini mengembalikan ralat.
CASE digunakan secara langsung dalam PL SQL, tetapi DECODE digunakan dalam PL SQL melalui SQL sahaja.
41) Terangkan transaksi autonomi.
Transaksi autonomi adalah transaksi bebas dari transaksi utama atau induk. Ia tidak bersarang jika dimulakan dengan transaksi lain.
Terdapat beberapa situasi untuk menggunakan urus niaga autonomi seperti pembalakan peristiwa dan pengauditan.
42) Bezakan antara SGA dan PGA.
SGA bermaksud System Global Area sedangkan PGA bermaksud Program atau Process Global Area. PGA hanya diperuntukkan saiz RAM 10%, tetapi SGA diberi ukuran RAM 40%.
43) Apakah lokasi Pre_defined_functions.
Mereka disimpan dalam pakej standard yang disebut "Fungsi, Prosedur dan Pakej"
44) Terangkan polimorfisme dalam PL SQL.
Polimorfisme adalah ciri OOP. Ini adalah kemampuan untuk membuat pemboleh ubah, objek atau fungsi dengan pelbagai bentuk. PL / SQL menyokong Polimorfisme dalam bentuk overloading unit program di dalam fungsi atau pakej anggota ... Logik yang tidak jelas harus dielakkan semasa pembebanan sedang dilakukan.
45) Apakah kegunaan MERGE?
MERGE digunakan untuk menggabungkan beberapa pernyataan DML menjadi satu.
Sintaks: bergabung menjadi nama tablen
menggunakan (pertanyaan)
dihidupkan (syarat bergabung)
apabila tidak dipadankan ketika itu
[masukkan / kemas kini / hapus] perintah
apabila dipadankan ketika itu
[masukkan / kemas kini / hapus] perintah
46) Bolehkah 2 pertanyaan dijalankan secara serentak dalam Sistem Pangkalan Data Teragih?
Ya, mereka dapat dilaksanakan secara serentak. Satu pertanyaan selalu bebas dari pertanyaan kedua dalam sistem pangkalan data yang diedarkan berdasarkan komit 2 fasa.
47) Terangkan Raise_application_error.
Ini adalah prosedur dari pakej DBMS_STANDARD yang membolehkan mengeluarkan mesej ralat yang ditentukan pengguna dari pemicu pangkalan data atau sub-program yang disimpan.
48) Apakah parameter keluar yang digunakan untuk penyata walaupun penyataan kembali juga dapat digunakan dalam pl / sql?
Parameter keluar membolehkan lebih dari satu nilai dalam program panggilan. Parameter keluar tidak digalakkan dalam fungsi. Prosedur boleh digunakan dan bukannya fungsi jika diperlukan banyak nilai. Oleh itu, prosedur ini digunakan untuk melaksanakan parameter Out.
49) Bagaimana anda menukar tarikh menjadi format tarikh Julian?
Kita boleh menggunakan rentetan format J:
SQL> pilih to_char (to_date ('29 -Mar-2013 ',' dd-mon-yyyy '),' J ') sebagai julian dari dual;
JULIAN
50) Terangkan SPOOL
Perintah kumparan boleh mencetak output penyataan sql dalam fail.
tunjang / tmp / sql_outtxt
pilih smp_name, smp_id dari smp mana dept = 'akaun';
gulungan mati;
51) Sebutkan pakej PL / SQL apa?
Pakej PL / SQL terdiri daripada
- Jadual PL / SQL dan catatkan pernyataan JENIS
- Prosedur dan Fungsi
- Kursor
- Pemboleh ubah (jadual, skalar, rekod, dll.) Dan pemalar
- Nama dan pragma pengecualian untuk mengaitkan nombor ralat dengan pengecualian
- Kursor
52) Sebutkan apakah faedah pakej PL / SQL?
Ia memberikan beberapa faedah seperti
- Penyembunyian Maklumat Terpaksa: Ini memberikan kebebasan untuk memilih sama ada menyimpan data peribadi atau awam
- Reka bentuk dari atas ke bawah: Anda boleh merancang antara muka ke kod yang tersembunyi dalam pakej sebelum anda benar-benar melaksanakan modul itu sendiri
- Ketekunan objek : Objek yang dinyatakan dalam spesifikasi paket berperilaku seperti data global untuk semua objek PL / SQL dalam aplikasi. Anda boleh mengubahsuai pakej dalam satu modul dan kemudian merujuk perubahan tersebut ke modul lain
- Reka bentuk berorientasi objek: Pakej ini memberikan pengembang kuat mengenai bagaimana modul dan struktur data di dalam pakej dapat digunakan
- Menjamin integriti transaksi: Ini memberikan tahap integriti transaksi
- Peningkatan prestasi: RDBMS secara automatik mengesan kesahan semua objek program yang disimpan dalam pangkalan data dan meningkatkan prestasi pakej.
53) Sebutkan kaedah apa yang berbeza untuk mengesan kod PL / SQL?
Menelusuri kod adalah teknik penting untuk mengukur prestasi kod semasa masa berjalan. Kaedah pengesanan yang berbeza merangkumi
- DBMS_APPLICATION_INFO
- DBMS_TRACE
- DBMS_SESSION dan DBMS_MONITOR
- utiliti trcsess dan tkproof
54) Sebutkan apa yang dilakukan oleh profiler hierarki?
Profiler hierarki dapat membuat profil panggilan yang dibuat dalam PL / SQL, selain dari mengisi jurang antara celah dan harapan pengesanan prestasi. Kecekapan profiler hierarki merangkumi
- Pelaporan berbeza untuk penggunaan masa SQL dan PL / SQL
- Laporan mengira panggilan sub-program berbeza yang dibuat dalam PL / SQL, dan masa yang dihabiskan untuk setiap panggilan subprogram
- Pelbagai laporan analisis interaktif dalam format HTML dengan menggunakan utiliti baris perintah
- Lebih berkesan daripada profiler konvensional dan utiliti pengesanan lain
55) Sebutkan apa yang membolehkan anda msg PLV?
Mesej PLV membolehkan anda
- Tetapkan mesej teks individu ke baris yang ditentukan dalam jadual PL / SQL
- Ia mengambil teks mesej dengan nombor
- Ini menggantikan mesej anda sendiri secara automatik untuk mesej ralat Oracle standard dengan togol had
- Batch load number number dan text dari pangkalan data jadual langsung PLV msg PL / SQL table
56) Sebutkan apa yang ditawarkan oleh pakej PLV (PL / Vision)?
- Nilai penggantian nol
- Set rutin penegasan
- Pelbagai utiliti
- Set pemalar yang digunakan sepanjang penglihatan PL
- Jenis data yang ditentukan sebelumnya
- 57) Sebutkan apakah penggunaan PLVprs dan PLVprsps?
- PLVprs: Ini adalah perpanjangan untuk menguraikan rentetan untuk PL / SQL, dan merupakan tahap fungsi penghuraian rentetan terendah
- PLVprsps: Ini adalah pakej tahap tertinggi untuk menguraikan kod sumber PL / SQL ke dalam atom yang berasingan. Ia bergantung pada pakej penghuraian lain untuk menyelesaikan kerja.
58) Terangkan bagaimana anda boleh menyalin fail ke isi fail dan fail ke jadual PL / SQL terlebih dahulu PL / SQL?
Dengan satu panggilan program - " prosedur fcopy", anda boleh menyalin isi lengkap satu fail ke fail lain. Semasa menyalin kandungan fail secara langsung ke dalam jadual PL / SQL, anda boleh menggunakan program " file2pstab" .
59) Terangkan bagaimana pengendalian pengecualian dilakukan terlebih dahulu PL / SQL?
Untuk pengecualian pengendalian PL / SQl menyediakan PLVexc plugin yang berkesan. PLVexc menyokong empat tindakan pengendalian pengecualian yang berbeza.
- Teruskan proses
- Rakam dan kemudian teruskan
- Menghentikan pemprosesan
- Merekod dan kemudian menghentikan pemprosesan
Untuk pengecualian yang berlaku semula, anda boleh menggunakan pernyataan RAISE.
60) Sebutkan masalah apa yang mungkin dihadapi seseorang semasa menulis maklumat log ke jadual pangkalan data dalam PL / SQL?
Semasa menulis maklumat log ke jadual pangkalan data, masalah yang anda hadapi adalah bahawa maklumat hanya tersedia hanya setelah baris baru diberikan ke pangkalan data. Ini mungkin menjadi masalah kerana PLVlog seperti itu biasanya digunakan untuk melacak kesalahan dan dalam banyak keadaan seperti itu transaksi saat ini akan gagal atau sebaliknya memerlukan pengembalian.
61) Sebutkan fungsi apa yang digunakan untuk memindahkan log jadual PL / SQL ke jadual pangkalan data?
Untuk memindahkan log jadual PL / SQL, fungsi jadual log pangkalan data "PROSEDUR ps2db" digunakan.
62) Bilakah anda harus menggunakan "rollback to" default point save PLVlog?
Titik simpan "rollback to" default PLVlog digunakan ketika pengguna telah mengaktifkan aktiviti rollback dan belum memberikan titik simpanan alternatif dalam panggilan ke put_line. Titik simpan lalai dimulakan ke pemalar tidak ada.
63) Mengapa PLVtab dianggap sebagai kaedah termudah untuk mengakses jadual PL / SQL?
Jadual PL / SQL adalah yang paling dekat dengan tatasusunan dalam PL / SQL, dan untuk mengakses jadual ini, anda harus terlebih dahulu menyatakan jenis jadual, dan kemudian anda harus menyatakan jadual PL / SQL itu sendiri. Tetapi dengan menggunakan PLVtab, anda tidak boleh menentukan jenis jadual PL / SQL anda sendiri dan memudahkan akses jadual data PL / SQL.
64) Sebutkan apa yang PLVtab membolehkan anda lakukan semasa anda menunjukkan kandungan jadual PL / SQL?
PLVtab membolehkan anda melakukan perkara-perkara berikut semasa anda menunjukkan kandungan jadual PL / SQL
- Paparkan atau tekan tajuk untuk jadual
- Paparkan atau tekan nombor baris untuk nilai jadual
- Tunjukkan awalan sebelum setiap baris jadual
65) Terangkan bagaimana anda boleh menyimpan atau meletakkan pesanan anda dalam jadual?
Untuk menyimpan msg dalam jadual, anda boleh melakukannya dengan dua cara
- Muatkan mesej individu dengan panggilan ke prosedur add_text
- Muatkan set mesej dari jadual pangkalan data dengan prosedur load_from_dbms
66) Sebutkan penggunaan fungsi "prosedur modul" dalam PL / SQL?
"Prosedur modul" memungkinkan untuk menukar semua baris kod dalam unit program yang pasti dengan satu panggilan prosedur. Terdapat tiga hujah untuk modul
- modul_in
- cor_in
- Last_module_in
67) Sebutkan apa yang dilakukan oleh PLVcmt dan PLVrb dalam PL / SQL?
PL / Vision menawarkan dua pakej yang membantu anda menguruskan pemprosesan transaksi dalam aplikasi PL / SQL. Ia adalah PLVcmt dan PLVrb.
- PLVcmt: Pakej PLVcmt membungkus logik dan kerumitan untuk menangani pemrosesan komit
- PLVrb: Ia menyediakan antara muka yang terprogram untuk mengembalikan aktiviti dalam PL / SQL