Koʻrish va saqlangan protsedura
Ko'rinishlar va saqlangan protseduralar ma'lumotlar bazasi ob'ektlarining ikki turidir. Ko'rishlar bir yoki bir nechta jadvallardan ma'lumotlarni to'playdigan saqlangan so'rovlar turidir. Mana, ko'rinish yaratish sintaksisi
koʻrish nomini yaratish yoki almashtirish
as
select_statement;
Saqlangan protsedura ma'lumotlar bazasi serverida saqlanadigan oldindan tuzilgan SQL buyruqlar to'plamidir. Har bir saqlangan protsedura chaqiruvchi nomga ega bo'lib, ularni boshqa paketlar, protseduralar va funktsiyalar ichida chaqirish uchun foydalaniladi. Bu saqlangan protsedura yaratish sintaksisi (ORACLE da), protsessual protsedura nomini (parametrlarini) yaratish yoki almashtirish
is
boshlash
bayonotlar;
istisno
istisnolar bilan ishlash
end;
Koʻrish
Koʻrinish virtual jadval vazifasini bajaradi. Tanlangan gapni tanasi ichida yashiradi. Ushbu tanlash bayonoti juda murakkab bo'lishi mumkin, u bir nechta jadval va ko'rinishlardan ma'lumotlarni oladi. Shuning uchun, boshqacha qilib aytganda, ko'rinish ma'lumotlar bazasida saqlanadigan nomli tanlash bayonotidir. Ko'rinishdan oxirgi foydalanuvchilardan jadval munosabatlari ortidagi mantiqni yashirish uchun foydalanish mumkin. Ko'rinish saqlangan so'rov natijasi bo'lgani uchun u hech qanday ma'lumot saqlamaydi. U asosiy jadvallardan ma'lumotlarni to'playdi va ko'rsatadi. Ko'rishlar ma'lumotlar xavfsizligida ham muhim rol o'ynaydi. Jadval egasi oxirgi foydalanuvchilarga faqat ma'lumotlar to'plamini ko'rsatishi kerak bo'lganda, ko'rinish yaratish yaxshi echimdir. Koʻrishlarni ikki toifaga boʻlish mumkin
- Yangilanadigan koʻrinishlar (QOʻSHISH, YANGILASH va OʻCHIRISH uchun ishlatilishi mumkin boʻlgan koʻrinishlar)
- Yangilanmaydigan koʻrinishlar (QOʻSHISH, YANGILASH va OʻCHIRISH uchun ishlatib boʻlmaydigan koʻrishlar)
Yangilanadigan koʻrinishlar quyidagilarni oʻz ichiga olmaydi, Operatorlarni sozlash (INTERSECT, MINUS, UNION, UNION ALL)
DISTINCT
Guruhlarni yigʻish funksiyalari (AVG, COUNT, MAX, MIN, SUM va boshqalar)
band boʻyicha guruhlash
bandBO'YICHA ulaning
BUNDAN BOSHLASH
Tanlangan roʻyxatdagi toʻplam ifodasi
Tanlangan roʻyxatdagi quyi soʻrovlar
Soʻrovga qoʻshilish
Saqlangan protsedura
Saqlangan protseduralar dasturlash bloklari deb ataladi. Ular qo'ng'iroq qilish uchun nomga ega bo'lishi kerak. Saqlangan protseduralar parametrlarni foydalanuvchi kiritishi va protsedura ortidagi mantiq bo'yicha jarayon sifatida qabul qiladi va natijani beradi (yoki ma'lum bir harakatni bajaradi). O'zgaruvchilar deklaratsiyasi, o'zgaruvchilarni tayinlash, boshqaruv bayonotlari, tsikllar, SQL so'rovlari va boshqa funktsiyalar/protsedura/paket chaqiruvlari protseduralar tanasi ichida bo'lishi mumkin.
Koʻrish va saqlangan protsedura oʻrtasidagi farq nima?
Keling, bu ikkisi orasidagi farqni ko'rib chiqaylik.
• Koʻrishlar virtual jadvallar vazifasini bajaradi. Ular to'g'ridan-to'g'ri SQL so'rovlarining yopilishidan (tanlangan) foydalanish mumkin, lekin protseduralar so'rovlar yopilishidan boshlab ishlatilmaydi.
• Koʻrishlar oʻz tanasi sifatida faqat tanlangan bayonotga ega, lekin protseduralar oʻzgaruvchilar deklaratsiyasi, oʻzgaruvchilarni tayinlash, boshqaruv bayonotlari, tsikllar, SQL soʻrovlari va boshqa funksiyalar/protsedura/paket chaqiruvlariga ega boʻlishi mumkin.
• Protsedura bajarish uchun parametrlarni qabul qiladi, lekin koʻrinishlar parametrlarning bajarilishini xohlamaydi.
• Yozuv turlarini % ROWTYPE yordamida koʻrishlar asosida yaratish mumkin, lekin protseduralar yordamida yozuv turlarini yaratib boʻlmaydi.
• SQL maslahatlari ijro rejasini optimallashtirish uchun ichki koʻrinishni tanlash bayonotidan foydalanish mumkin, lekin SQL maslahatlaridan saqlangan protseduralarda foydalanilmaydi.
• OʻCHIRISH, QOʻSHISH, YANGILASH, TANGLASH, FLASHBACK va DEBUG funksiyalarini koʻrishlarda berish mumkin, lekin protseduralarda faqat ISHLATISH va DEBUG funksiyalarini berish mumkin.