Prosedur yang disimpan vs fungsi
Prosedur dan fungsi yang disimpan adalah dua jenis blok pengaturcaraan. Kedua -duanya mesti mempunyai nama memanggil. Nama panggilan mereka digunakan untuk memanggil mereka di dalam blok pengaturcaraan lain seperti fungsi dan pakej prosedur atau pertanyaan SQL. Kedua -dua jenis objek ini menerima parameter dan melaksanakan tugas di belakang objek tersebut. Ini adalah sintaks (di Oracle) untuk membuat prosedur yang disimpan,
Buat atau ganti Prosedur Prosedur (parameter)
sebagai
Mulakan
pernyataan;
pengecualian
exception_handling
akhir;
Dan inilah sintaks untuk membuat fungsi (di Oracle),
Buat atau ganti fungsi fungsi_name (parameter)
Kembali kembali_datatype
sebagai
Mulakan
pernyataan;
kembali kembali/variabel;
pengecualian;
exception_handling;
akhir;
Prosedur tersimpan
Seperti yang disebutkan di atas prosedur yang disimpan dinamakan blok pengaturcaraan. Mereka menerima parameter sebagai input pengguna dan proses mengikut logik di sebalik prosedur dan memberikan hasilnya (atau melakukan tindakan tertentu). Parameter ini boleh masuk, keluar dan jenis. Pengisytiharan berubah -ubah, tugasan berubah, penyata kawalan, gelung, pertanyaan SQL dan fungsi/prosedur/panggilan pakej lain boleh berada di dalam badan prosedur.
Fungsi
Fungsi juga dinamakan blok pengaturcaraan, yang mesti mengembalikan nilai menggunakan pernyataan pulangan, dan sebelum ia mengembalikan nilai, tubuhnya melakukan beberapa tindakan juga (menurut logik yang diberikan). Fungsi juga menerima parameter untuk dijalankan. Fungsi boleh dipanggil di dalam pertanyaan. Apabila fungsi dipanggil di dalam pertanyaan pilih, ia terpakai pada setiap baris set hasil pertanyaan pilih. Terdapat beberapa kategori fungsi Oracle. Mereka,
Terdapat sub kategori fungsi baris tunggal.
Apakah perbezaan antara fungsi dan prosedur yang disimpan? • Semua fungsi mesti mengembalikan nilai menggunakan pernyataan pulangan. Prosedur yang disimpan tidak mengembalikan nilai menggunakan pernyataan pulangan. Penyataan kembali di dalam prosedur akan mengembalikan kawalannya ke program panggilan. Parameter keluar boleh digunakan untuk mengembalikan nilai dari prosedur yang disimpan. • Fungsi boleh dipanggil di dalam pertanyaan, tetapi prosedur yang disimpan tidak boleh digunakan di dalam pertanyaan. • Jenis data pulangan mesti dimasukkan untuk membuat fungsi, tetapi dalam prosedur disimpan DDL, tidak. |