Protseduralardagi parametrlar
Protseduralar parametrlarni olishi mumkin. Parametrlar kiritiladi - ular protseduraga ba'zi qiymatlarni o'tkazish uchun ishlatilishi mumkin. Shuningdek, parametrlar chiqariladi - ular protseduradan ba'zi qiymatlarni qaytarishga imkon beradi.
Masalan, ma'lumotlar bazasida quyidagi mahsulotlar jadvali mavjud deylik:
Keling, ushbu jadvalga ma'lumotlarni qo'shadigan protsedurani aniqlaymiz:
Protsedura nomidan keyin kiritish parametrlari ro'yxati mavjud bo'lib, ular o'zgaruvchilar bilan bir xil tarzda aniqlanadi - nom @ belgisi bilan boshlanadi va nomdan keyin o'zgaruvchining tipi keladi. Va INSERT buyrug'i yordamida ushbu parametrlarning qiymatlari Mahsulotlar jadvaliga o'tkaziladi.
Biz ushbu protseduradan foydalanamiz:
Bu erda protseduraga o'tgan qiymatlar o'zgaruvchilar orqali aniqlanadi. Jarayon chaqirilganda, qiymatlar vergul bilan ajratilgan holda uzatiladi. Bunday holda, qiymatlar pozitsiya bo'yicha protsedura parametrlariga o'tkaziladi. @name parametri birinchi bo'lib aniqlanganligi sababli, birinchi qiymat unga o'tkaziladi - @prodName o'zgaruvchisining qiymati. Ikkinchi parametr, @manufacturer, ikkinchi qiymat, @kompaniya o'zgaruvchisining qiymati va hokazo. Asosiysi, o'tkazilgan qiymatlar va protsedura parametrlari o'rtasida ma'lumotlar turi bo'yicha yozishmalar bo'lishi kerak.
Shuningdek, qiymatlarni to'g'ridan-to'g'ri uzatish mumkin bo'ladi:
Shuningdek, qiymatlarni protsedura parametrlariga nom bo'yicha o'tkazishingiz mumkin:
Parametrlarni nom bo'yicha o'tkazish protsedura parametriga qiymat beradi.
Ixtiyoriy parametrlar
Parametrlar ba'zi bir sukut bo'yicha qiymat berish orqali ixtiyoriy sifatida belgilanishi mumkin. Masalan, yuqoridagi holatda, agar tegishli qiymat protseduraga o'tkazilmasa, mahsulot miqdorini avtomatik ravishda 1 ga o'rnatishimiz mumkin:
Bunday holda, ixtiyoriy parametrlar protsedura parametrlari ro'yxatining oxiriga eng yaxshi joylashtiriladi.
Va bu holda siz @count parametri uchun protseduraga qiymat o'tkaza olmaysiz.
Chiqish parametrlari va qaytish natijasi
Chiqish parametrlari protseduradan ba'zi natijalarni qaytarishga imkon beradi. Chiqish parametrlari OUTPUT kalit so'zi yordamida aniqlanadi. Masalan, boshqa protsedurani aniqlaymiz:
Protsedura chaqirilganda chiqish parametrlari uchun OUTPUT kalit so'zi bilan o'zgaruvchilar uzatiladi:
Shuningdek, siz kirish va chiqish parametrlarini birlashtirishingiz mumkin. Masalan, jadvalga yangi qator qo'shadigan va uning identifikatorini qaytaruvchi protsedurani aniqlaymiz:
Qo'shilgan yozuvning identifikatorini olish uchun @@IDENTITY global o'zgaruvchisidan foydalanishingiz mumkin.
Ushbu protsedura chaqirilganda, barcha kirish va chiqish parametrlari ham unga pozitsiya bo'yicha uzatiladi:
Qiymatni qaytarish
Saqlangan protsedura bajarilish natijasini chiqish parametrlari orqali uzatishdan tashqari, RETURN operatori yordamida INT tipidagi istalgan qiymatni ham qaytarishi mumkin. Garchi bu imkoniyat asosan natijani qaytarishingiz mumkin bo'lgan chiqish parametrlaridan foydalanish bilan tekislangan bo'lsa-da, shunga qaramay, agar siz protseduradan bitta qiymatni qaytarishingiz kerak bo'lsa, siz RETURN iborasidan foydalanishingiz mumkin.
Masalan, tovarlarning o'rtacha narxini qaytaring:
Qaytish qiymati RETURN iborasidan keyin belgilanadi. Bu holda, bu @avgPrice o'zgaruvchisining qiymati.
Keling, ushbu protsedurani chaqiramiz:
arayon natijasini olish uchun uning qiymati o'zgaruvchida saqlanadi (bu holda @result o'zgaruvchisi):
Shuni ta'kidlash kerakki, RETURN faqat butun son qiymatlarini qaytaradi.
Do'stlaringiz bilan baham: |