Triggerlar va ulardan foydalanish. Position funksiyasi. Case ifodasini ishlatib shartli qiymatlarni ifodalash. Sql server hisob yozuvlarini boshqarish. Protseduralar va ularni yaratish. Ma’lumot bazasi administrator


Keling, ikkinchi CASE shaklini olaylik



Download 295,4 Kb.
bet4/7
Sana22.01.2022
Hajmi295,4 Kb.
#401045
1   2   3   4   5   6   7
Bog'liq
Xamdullayev Aminjon MB 6(1)

Keling, ikkinchi CASE shaklini olaylik:

Aytaylik, yangi yil uchun ular barcha xodimlarni mukofotlashga qaror qilishdi va bonuslar miqdorini quyidagi sxema bo'yicha hisoblashni so'rashdi:



  • IT bo'limi xodimlariga ish haqining 15 foizini berish;

  • Buxgalteriya bo'limi xodimlari ish haqining 10 foizi;

  • Qolganlarning hammasi ish haqining 5%.

Bu vazifa uchun biz CASE ifodasi bilan so'rovdan foydalanamiz:

ID, ism, ish haqi, Departament identifikatorini tanlang - aniqlik uchun biz foizni CASE DepartmentID qatorida ko'rsatamiz - tasdiqlangan qiymat 2dan keyin "10%" - buxgalterlarga beriladigan ish haqining 10 foizi 3 dan keyin 15% " - IT xodimlariga berish uchun ish haqining 15 foizi" Qolgan 5% " - qolganlarga 5% Yangi YILBonusPercent tugaydi, - bonus miqdorini ko'rish uchun CASE yordamida ifoda tuzamiz. Ish haqining 10 - 10 foizi buxgalterlarga Qachon 3 dan 15 - 15% maoshning 15% i IT xodimlariga beriladi Qolgan 5 - hamma 5% har bir xodimga bonusni tugatadi.

Bu WHID qiymatlari bo'yicha DepartmentID qiymatini ketma -ket tekshiradi. Birinchi DepartmentID WHEN qiymatiga teng bo'lganda, chek bekor qilinadi va THEN so'zidan keyin ko'rsatilgan qiymat qaytariladi.

Shunga ko'ra, agar IDID WHEN qiymatiga mos kelmasa, ELSE blokining qiymati qaytariladi.

Agar ELSE bloki bo'lmasa, IDID WHEN qiymatiga mos kelmasa, NULL qaytariladi.

Ikkinchi CASE formasini birinchi shakl yordamida ko'rsatish oson:

ID, 2, "10%" - buxgalterlarga beriladigan ish haqining 10 foizi, idorasi = 3, keyin "15%" - IT xodimlariga beriladigan ish haqining 15 foizi. 5% " - qolganlarning hammasi 5% ENDi Yangi YilBonusPercent, - bonus miqdorini ko'rish uchun CASE yordamida iborani yarating Ish haqi / 100 * VAQTIDA idorasi = 2 O'NA 10 - 10% buxgalterlarga berilishi kerak bo'lgan bo'limIDID = 3 15 15 - IT xodimlariga beriladigan maoshning 15 foizi, boshqa 5 - hamma 5% har bir xodimga bonusni tugatadi.

Shunday qilib, ikkinchi shakl - har bir WHEN qiymati / ifodasi bilan bir xil test qiymatini teng taqqoslashimiz kerak bo'lgan holatlar uchun soddalashtirilgan yozuv.

Eslatma. CASE ning birinchi va ikkinchi shakllari SQL tili standartiga kiritilgan, shuning uchun ular ko'pgina DBMSlarda qo'llanilishi kerak.

MS SQL 2012 versiyasi bilan soddalashtirilgan IIF belgisi paydo bo'ldi. U faqat 2 qiymat qaytarilganda CASE bayonotini soddalashtirish uchun ishlatilishi mumkin. IIF dizayni quyidagicha:

IIF (shart, haqiqiy_qiymat, noto'g'ri_qiymat)

Bular. Aslida, bu quyidagi CASE qurilishi uchun o'rash:

CASE WHEN sharti keyin haqiqiy_qiymat ELSE false_value END

Keling, misolni ko'rib chiqaylik:

ID, ism, ish haqi, IIF ni tanlang (Ish haqi = 2500, "Ish haqi = = 2500", "Ish haqi")< 2500") DemoIIF, CASE WHEN Salary>= 2500 UNDA "RFP> = 2500" QO'SHI "RFP< 2500" END DemoCASE FROM Employees

CASE, IIF konstruktsiyalari bir -biriga joylashtirilishi mumkin. Keling, mavhum misolni ko'rib chiqaylik:

ID, Ism, Ish haqi, Kafedrada (1,2) KEYIN BOShQA BO'LGANDA "A" ni tanlang = 3 SONRASIDA POSIDIDI joylashtirilgan holat 3dan keyin "B-1", keyin 4dan keyin "B-2" tugasa "C" "End Demo1, IIF (DepartmentID IN (1,2)," A ", IIF (DepartmentID = 3, 3dan keyin" B-1 ", 4dan keyin" B-2 "," C ") holatining holati) Demo2 Xodimlardan

CASE va IIF konstruktsiyalari natijani qaytaradigan ifodalar bo'lgani uchun biz ularni nafaqat SELECT blokida, balki ifodalarni ishlatishga ruxsat beruvchi boshqa bloklarda ham ishlatishimiz mumkin, masalan, WHERE yoki ORDER BY bandlarida.




Download 295,4 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish