Muxammad al-xorazmiy nomidagi tatu qarshi filiyali “ki” fakulteti akt-11-21 gurux talabasi ro’ziyev bekzodning ma’lumotlar bazasidan 5-amaliy ishi Topshirdi: ro’ziyev.b Qabul qildi: bozorova.m
Mavzu: SQLda protseduralar yaratish
- Podyl mantiqlari boshqa dasturlar bilan. Saqlash protseduralari funksionallikni qamrab oladi; ma'lumotlarga xavfsiz kirish va ularni turli dasturlar o'rtasida boshqarish.
- Ma'lumotlar bazasi jadvallarida koristuvachivni izolyatsiya qilish. Bu sizga jadvallarning o'ziga emas, balki saqlangan protseduralarga kirish imkonini beradi.
- Himoya mexanizmini mahkamlang. Oldingi nuqtaga kelsak, siz ma'lumotlaringizga faqat saqlagan protseduralar orqali kirishingiz mumkin bo'lsa-da, SQL DELETE buyrug'i orqali boshqa hech kim ma'lumotlaringizni o'chira olmaydi.
- Polypshennya vykonannya qisqa muddatli trafik merosi sifatida. Saqlangan qo'shimcha protseduralar uchun shaxsiy bo'lmagan ichimliklar birlashtirilishi mumkin.
Qabul qilingan SQL protsedurasi va mijozning qo'shimchasi o'rtasidagi bog'liqlik turli xil parametrlar va qiymatlarga asoslangan bo'lib, ular aylantiriladi. ning saqlanadi tartibi ma'lumotlarni uzatish obov'yazkovo qilaylik, axborot qayta ishlanadi (asosan talab bo'yicha) va SQL uchun qayta ishlanadi. Saqlanayotgan protsedura o'z ishini yakunlaganligi sababli, qo'shimchaga ma'lumotlar paketlari (ale, men bilaman, xatolar uchun) mavjud, shunda siz yoga, g'olib usullardan foydalanishingiz mumkin, ularning yordami uchun SQL protsedurasini qanday saqlashni bilib oling, shuning uchun men o'giraman, masalan:
Chiqish turiga qo'shimcha parametr uchun ma'lumotlarni uzatish;
Operator yordami uchun ma'lumotlarni uzatish;
Operatorning tanlovga yordami uchun o'lponning kuchi.
Endi esa butun jarayonni o‘rtada ko‘rib turgandek bir nazar tashlaylik.
Ushbu uslub ma'lumotlar jadvallaridagi qiymatlar to'plamini (RecordSet) olingan to'liq protseduraga aylantirish uchun ishlatiladi. Ushbu ilovada @AuthID parametrlari bilan saqlanadigan SQL protsedurasi "Mualliflar" jadvalini filtr yo'li bilan ta'minlaydi, yozuvlar qo'shimcha @AuthId parametridan keyin aylantiriladi. Select iborasi aylantirilishi mumkin bo'lgan narsalarni bekor qiladi va tanlash uchun protseduralarni chaqiradi. Jarayon bajarilmasa, AuthId qaytariladi. Bunday tartib bu erda har doim faqat bitta yozuvni aylantiradi, aks holda bu kerak. Ale, amalga oshirilayotgan protsedura har kuni bir nechta yozuvni aylantirishga ruxsat etilmaydi. Ko'pincha misoldan foydalanish mumkin, turli parametrlarga ega bo'lgan ba'zi ma'lumotlar aylanishlari uchun, o'zgarishlarni hisoblash ishtirokida, bir qator sumka qiymatlarini berish usuli mavjud.
Vídpovíd ma'nosi biz va old dumba bachiled bir zminnoy o'girib uchun vikoristane bo'lishi mumkin. Chiqish parametrining varianti protseduraga u yoki bu boshqa tomon uchun o'zgarish qiymatini tuzatishga imkon beradi. Chiqish parametri protsedura yaratilganda bir xil kalit so'z "Output" bilan belgilanadi. Agar ish parametri chiqish parametri bo'lsa, protsedura ob'ekti uning qiymatini belgilash uchun javobgardir. Pastroqda ishlatilishi mumkin bo'lgan saqlash SQL protseduralari sub-bag ma'lumotlari bilan turli hollarda qo'llaniladi.
Protsedura bu ma'lumotlar bazasida saqlanadigan oddiy skript tilidagi kichik dastur hisoblanadi(subprogram kabi). MySQL holatida protseduralar MySQL da yoziladi va MySQL ma’lumotlar bazasida(serverda) saqlanadi. MySQl da protdedura bilan ishlashning umumiy sintaksisi: Protsedura yaratish:
SQL ko'rsatmalari to'plami sifatida algoritmga ega bo'lgan barcha ma'lumotlar bazasi ob'ektlari. Boshqacha qilib aytganda, saqlangan protseduralar ma'lumotlar bazasining o'rtasida joylashgan dasturlardir, deb aytishimiz mumkin. Saqlash protseduralari qayta ulangan kodni serverda saqlash uchun saqlanadi, masalan, siz qandaydir algoritmni, oxirgisini yoki boy SQL ko'rsatmasini yozdingiz, shunda siz ushbu ko'rsatmalarga kiritilgan barcha ko'rsatmalarni bir marta yutmaysiz. algoritm, protseduralarni tekshirishingiz mumkin. Bunday holda, agar siz SQL protsedurasini yaratsangiz, server kodni kompilyatsiya qiladi va keyin siz SQL protsedurasini ishga tushirganingizda, server uni boshqa kompilyatsiya qilmaydi.
Protsedura yaratish: delimiter // create procedure protsedura_nomi(protsedura prototipi)begin {protsedura so’rovlar amallar… maydoni}end// protsedurani chaqirish: call protsedura_nomi(@prototip)//protsedura natijasini ko’rish: select @prototip; Eslatma: delimiterning vazifasi shuki bu kodlarni bitta satrda emas birnecha satrlarda yozib birlashtirish imkonini beradi. Delimiter belgisi orasida proseduraning kodi yoziladi. Uning sintaksisi: 1. Boshlanishi: Delimiter kalit_belgi 2. Tugashi: End kalit_belgiMasalan: Delimiter $$ ……………………………End$$ Ishni bajarish tartibi 1. ―Qurilma jadvalini chaqiramiz: So‘rov: select * from qurilma;
Do'stlaringiz bilan baham: |