Saqlangan protsedura va funksiya oʻrtasidagi farq

Mundarija:

Saqlangan protsedura va funksiya oʻrtasidagi farq
Saqlangan protsedura va funksiya oʻrtasidagi farq

Video: Saqlangan protsedura va funksiya oʻrtasidagi farq

Video: Saqlangan protsedura va funksiya oʻrtasidagi farq
Video: PYTHON DASTURLASH TILI (QISM DASTURLAR. FUNKSIYALAR VA PROTSEDURALAR) 50-DARS 2024, Iyul
Anonim

Saqlangan protsedura va funksiya

Saqlangan protseduralar va funksiyalar ikki turdagi dasturlash bloklaridir. Ularning ikkalasi ham chaqiruvchi ismlarga ega bo'lishi kerak. Ushbu chaqiruvchi nomlar ularni protsedura funktsiyalari va paketlari yoki SQL so'rovlari kabi boshqa dasturlash blokida chaqirish uchun ishlatiladi. Ushbu ikkala ob'ekt turi parametrlarni qabul qiladi va ushbu ob'ektlar orqasidagi vazifani bajaradi. Bu saqlangan protsedura yaratish sintaksisi (ORACLE da), protsessual protsedura nomini (parametrlarini) yaratish yoki almashtirish

as

boshlash

bayonotlar;

istisno

istisnolar bilan ishlash

end;

Va bu yerda funksiya yaratish sintaksisi (ORACLE da), funksiyani yaratish yoki almashtirish funksiya_nomi (parametrlar)

qaytish_ma'lumotlar turi

as

boshlash

bayonotlar;

qaytish_qiymati/oʻzgaruvchi;

istisno;

istisnolar bilan ishlash;

end;

Saqlangan protseduralar

Yuqorida aytib o'tilganidek, saqlangan protseduralar dasturlash bloklari deb ataladi. Ular parametrlarni foydalanuvchi kiritishi sifatida qabul qiladi va protsedura ortidagi mantiq bo'yicha ishlov beradi va natijani beradi (yoki ma'lum bir harakatni bajaradi). Bu parametrlar IN, OUT va INOUT turlari bo'lishi mumkin. O'zgaruvchilar deklaratsiyasi, o'zgaruvchilarni tayinlash, boshqaruv bayonotlari, tsikllar, SQL so'rovlari va boshqa funktsiyalar/protsedura/paket chaqiruvlari protseduralar doirasida bo'lishi mumkin.

Funksiyalar

Funksiyalar, shuningdek, RETURN iborasi yordamida qiymatni qaytarishi kerak bo'lgan dasturlash bloklari deb ataladi va u qiymatni qaytarishdan oldin uning tanasi ham ba'zi harakatlarni bajaradi (berilgan mantiq bo'yicha). Funktsiyalar ishlash uchun parametrlarni ham qabul qiladi. Funksiyalarni so'rovlar ichida chaqirish mumkin. Funktsiya SELECT so'rovi ichida chaqirilganda, u SELECT so'rovi natijalar to'plamining har bir qatoriga qo'llaniladi. ORACLE funksiyalarining bir nechta toifalari mavjud. Ular,

Bir qatorli funksiyalar (soʻrovning har bir satri uchun bitta natijani qaytaradi)

Bir qatorli funksiyalarning quyi toifalari mavjud.

  • Raqamli funksiya (masalan: ABS, SIN, COS)
  • Belgi funksiyasi (Masalan: CONCAT, INITCAP)
  • Sana vaqt funksiyasi (Masalan: OXIRGI_KUN, KEYINGI_KUN)
  • Konversiya funksiyalari (Masalan: TO_CHAR, TO_DATE)
  • Toʻplash funksiyasi (Masalan: CARDINALITY, SET)
  • Jamlash funksiyalari (Qatorlar guruhi asosida bitta qatorni qaytaradi. Masalan: AVG, SUM, MAX)
  • Analitik funksiyalar
  • Ob'ektga havola funksiyalari
  • Model funktsiyalari
  • Foydalanuvchi tomonidan belgilangan funksiyalar

Funksiya va Saqlangan protsedura o'rtasidagi farq nima?

• Barcha funksiyalar RETURN iborasi yordamida qiymat qaytarishi kerak. Saqlangan protseduralar RETURN iborasi yordamida qiymatlarni qaytarmaydi. Jarayon ichidagi RETURN iborasi uning boshqaruvini chaqiruvchi dasturga qaytaradi. OUT parametrlari saqlangan protseduralardan qiymatlarni qaytarish uchun ishlatilishi mumkin.

• Funksiyalarni soʻrovlar ichida chaqirish mumkin, lekin saqlangan protseduralarni soʻrovlar ichida ishlatib boʻlmaydi.

• Funksiya yaratish uchun RETURN maʼlumotlar turi kiritilishi kerak, lekin DDL saqlangan protsedurasida bunday emas.

Tavsiya: