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

Apa Itu Prosedur Tersimpan PL/SQL Dalam Database Oracle?

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:

  1. 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.

  1. Klausa AUTHID.

Klausa AUTHID digunakan untuk menetapkan model otoritas untuk Prosedur PL/SQL. Klausa ini memiliki dua flag.

  1. DEFINER dan
  2. 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!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. apakah mungkin untuk memiliki generator urutan alfanumerik di sql

  2. Menggunakan Oracle JDeveloper 12c dengan Oracle Database 12c di Oracle Cloud Platform, Bagian 1

  3. Oracle Big Data SQL

  4. Langkah-langkah untuk mengubah Kata Sandi Admin yang hilang atau terlupakan dari EBS WebLogic Domain R12.2

  5. Formulir Oracle dalam R12/R12.2