Mirip dengan Fungsi PL/SQL, Prosedur yang tersimpan adalah mandiri subprogram yang dimaksudkan untuk melakukan beberapa tugas tertentu. Juga mirip dengan fungsi, prosedur diberi nama blok PL/SQL sehingga dapat digunakan kembali karena disimpan ke dalam database sebagai objek database. Tetapi tidak seperti fungsi PL/SQL, prosedur tersimpan tidak mengembalikan nilai apa pun .
Sintaks Prosedur Tersimpan PL/SQL
CREATE [OR REPLACE] PROCEDURE pro_name (Parameter – List) IS [AUTHID DEFINER | CURRENT_USER] Declare statements BEGIN Executable statements END procedure name; /
Sintaks prosedur tersimpan PL/SQL di atas hampir mirip dengan sintaks Fungsi PL/SQL yang kita lihat di tutorial PL/SQL terakhir. Kecuali dua hal:
- Tidak ada klausa Pengembalian.
Perbedaan inti antara Fungsi PL/SQL dan prosedur tersimpan adalah bahwa tidak seperti Fungsi, prosedur tersimpan tidak mengembalikan nilai apa pun.
- Klausa AUTHID.
Klausa AUTHID digunakan untuk menetapkan model otoritas untuk Prosedur PL/SQL. Klausa ini memiliki dua flag.
- DEFINER dan
- CURRENT_USER
Karena klausa ini opsional sehingga jika Anda tidak menggunakan klausa AUTHID maka Oracle Engine akan mengatur otoritas (AUTHID) ke DEFINER secara default untuk Anda. Sekarang, Anda pasti bertanya-tanya apa hak DEFINER dan CURRENT_USER ini?
DEFINER kanan: Hak pendefinisi adalah hak default yang ditetapkan untuk prosedur oleh mesin oracle. Hak ini berarti siapa pun dengan Hak Eksekusi pada prosedur tersebut bertindak seolah-olah mereka adalah pemilik skema di mana hak istimewa itu dibuat.
CURRENT_USER benar: Menyetel tingkat otoritas prosedur tersimpan ke hak current_user mengesampingkan hak default yang merupakan definisi dan mengubahnya menjadi hak memanggil.
Otoritas hak pemanggil berarti Anda memanggil prosedur untuk bertindak pada data lokal Anda dan itu mengharuskan Anda mereplikasi objek data dalam skema yang berpartisipasi.
Beberapa Poin Tambahan Tentang Prosedur Tersimpan
- Anda dapat menentukan prosedur dengan atau tanpa parameter formal.
- Parameter dapat berupa pass-by-value atau referensi lewati .
- Prosedur akan menjadi prosedur pass-by-value saat Anda tidak menentukan mode parameter karena menggunakan mode IN default.
Itu saja di Pengantar Prosedur Tersimpan PL / SQL. Saya kira Anda juga akan menikmati membaca blog yang disebutkan di bawah ini. Semua blog ditulis dengan mempertimbangkan Wawancara Kerja dan Sertifikasi Database Oracle, pastikan untuk memeriksanya.
- Perbedaan antara Fungsi PL/SQL dan Prosedur Tersimpan PL/SQL?
- Apa yang dimaksud dengan Mode Parameter dalam Fungsi dan Prosedur PL/SQL?
- Apa itu Parameter Formal dan Aktual?
Ingatlah selalu:Anda dapat membantu orang lain dalam mempelajari dan mendukung saya dan saluran saya serta blog ini dengan membagikannya kepada teman-teman Anda di media sosial Anda.
Itu saja. Terima kasih sudah membaca. Berhati-hatilah &semoga harimu menyenangkan!