Perbezaan Antara Prosedur dan Fungsi Tersimpan

Isi kandungan:

Perbezaan Antara Prosedur dan Fungsi Tersimpan
Perbezaan Antara Prosedur dan Fungsi Tersimpan

Video: Perbezaan Antara Prosedur dan Fungsi Tersimpan

Video: Perbezaan Antara Prosedur dan Fungsi Tersimpan
Video: The Gravity Illusion 2024, Julai
Anonim

Prosedur Tersimpan lwn Fungsi

Prosedur dan fungsi tersimpan ialah dua jenis blok pengaturcaraan. Kedua-duanya mesti mempunyai nama panggilan. Nama panggilan tersebut digunakan untuk memanggilnya 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 ialah sintaks (dalam ORACLE) untuk mencipta prosedur tersimpan, buat atau ganti nama prosedur prosedur (parameter)

as

mulakan

penyataan;

exception

pengendalian_pengecualian

end;

Dan berikut ialah sintaks untuk mencipta fungsi (dalam ORACLE), buat atau ganti nama_fungsi (parameter)

return return_datatype

as

mulakan

penyataan;

pulangan_nilai/pembolehubah;

exception;

pengendalian_pengecualian;

end;

Prosedur Tersimpan

Seperti yang dinyatakan di atas, prosedur tersimpan dinamakan blok pengaturcaraan. Mereka menerima parameter sebagai input dan proses pengguna mengikut logik di sebalik prosedur dan memberikan hasil (atau melakukan tindakan tertentu). Parameter ini boleh jenis IN, OUT dan INOUT. Pengisytiharan pembolehubah, penugasan pembolehubah, penyataan 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 RETURN, dan sebelum ia mengembalikan nilai, badannya juga melakukan beberapa tindakan (mengikut logik yang diberikan). Fungsi juga menerima parameter untuk dijalankan. Fungsi boleh dipanggil di dalam pertanyaan. Apabila fungsi dipanggil dalam pertanyaan SELECT, ia digunakan pada setiap baris set hasil pertanyaan SELECT. Terdapat beberapa kategori fungsi ORACLE. Mereka ialah,

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

Terdapat subkategori bagi satu baris fungsi.

  • Fungsi angka (Cth: ABS, SIN, COS)
  • Fungsi aksara (Cth: CONCAT, INITCAP)
  • Fungsi masa tarikh (Cth: LAST_DAY, NEXT_DAY)
  • Fungsi penukaran (Cth: TO_CHAR, TO_DATE)
  • Fungsi pengumpulan (Cth: CARDINALITY, SET)
  • Fungsi agregat (Mengembalikan satu baris, berdasarkan sekumpulan baris. Cth: AVG, SUM, MAX)
  • Fungsi analitik
  • Fungsi rujukan objek
  • Fungsi model
  • Fungsi yang ditentukan pengguna

Apakah perbezaan antara fungsi dan Prosedur Tersimpan?

• Semua fungsi mesti mengembalikan nilai menggunakan pernyataan RETURN. Prosedur tersimpan tidak mengembalikan nilai menggunakan pernyataan RETURN. Kenyataan RETURN di dalam prosedur akan mengembalikan kawalannya kepada program panggilan. Parameter OUT boleh digunakan untuk mengembalikan nilai daripada prosedur yang disimpan.

• 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 prosedur tersimpan DDL, ia tidak.

Disyorkan: