Perbezaan Antara Prosedur dan Fungsi Stored

Anonim

Prosedur Tersimpan vs Fungsi

Prosedur dan fungsi tersimpan adalah dua jenis blok pengaturcaraan. Kedua-duanya mesti mempunyai nama panggilan. Mereka nama panggilan 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. Inilah sintaks (dalam ORACLE) untuk membuat prosedur tersimpan,

membuat atau menggantikan prosedur prosedur (parameter)

sebagai

memulakan

kenyataan;

pengecualian

exception_handling

akhir;

Dan inilah sintaks untuk membuat fungsi (dalam ORACLE),

membuat atau menggantikan function_name (parameter)

pulangan return_datatype

sebagai pernyataan

bermula

;

pulangan return_value / pemboleh ubah;

pengecualian;

exception_handling;

akhir;

Prosedur Tersimpan

Seperti yang dinyatakan di atas prosedur yang tersimpan dinamakan blok pengaturcaraan. Mereka menerima parameter sebagai input pengguna dan memproses mengikut logik di belakang prosedur dan memberi hasil (atau melakukan tindakan tertentu). Parameter ini boleh menjadi jenis IN, OUT dan INOUT. Pengisytiharan berubah-ubah, tugasan pembolehubah, kenyataan kawalan, gelung, pertanyaan SQL dan fungsi / prosedur / panggilan pakej lain boleh berada di dalam badan prosedur. Fungsi

Fungsi

Fungsi juga dinamakan blok pengaturcaraan, yang mesti mengembalikan nilai menggunakan pernyataan RETURN, 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 SELECT, ia terpakai untuk setiap baris set hasil query SELECT. Terdapat beberapa kategori fungsi ORACLE. Mereka adalah,

  • Fungsi baris tunggal (mengembalikan hasil tunggal untuk setiap baris pertanyaan)

Terdapat sub kategori fungsi baris tunggal. Fungsi fungsi angka (Contoh: ABS, SIN, COS)

  • Fungsi aksara (Contoh: CONCAT, INITCAP)
  • Fungsi masa tarikh (Contoh: LAST_DAY, NEXT_DAY)
  • Fungsi penukaran (Contoh: TO_CHAR, TO_DATE Fungsi-fungsi agregat (Mengembalikan baris tunggal, berdasarkan kumpulan baris EX: AVG, SUM, MAX)
  • Fungsi analitik
  • Fungsi rujukan objek
  • Fungsi model
  • Fungsi pengguna yang ditentukan
  • Apakah perbezaan antara fungsi dan Prosedur Disimpan?
  • • Semua fungsi mesti mengembalikan nilai menggunakan pernyataan RETURN. Prosedur disimpan tidak mengembalikan nilai menggunakan pernyataan RETURN. Kenyataan RETURN di dalam prosedur akan mengembalikan kawalannya kepada program panggilan. OUT parameter boleh digunakan untuk mengembalikan nilai dari prosedur tersimpan.
  • • Fungsi boleh dipanggil di dalam pertanyaan, tetapi prosedur tersimpan tidak boleh digunakan di dalam pertanyaan.

• Jenis data RETURN mesti disertakan untuk mencipta fungsi, tetapi dalam DDL prosedur tersimpan, tidak.