Ishdan maqsad: Ma’lumotlar bazasining infologik va mantiqiy modelini, er diagrammalarini yaratishni o‘rganish. Topshiriqlar


- laboratoriya ishi PL/SQL. Saqlanuvchi funksiya va protseduralar yaratish, kursorlar bilan ishlash


Download 1.49 Mb.
bet47/57
Sana27.01.2023
Hajmi1.49 Mb.
#1132339
1   ...   43   44   45   46   47   48   49   50   ...   57
Bog'liq
2 5375303174699622638

11 - laboratoriya ishi


PL/SQL. Saqlanuvchi funksiya va protseduralar yaratish, kursorlar bilan ishlash


Ishdan maqsad: PL/SQLda kursor, protsedura va funksiyalar yaratishni o‘rganish.
Topshiriqlar:

  1. Student jadvali uchun parametrli kursor yarating. Adress qiymati kiritilsin;

  2. 10 nafardan ko‘p talaba o‘qiydigan guruh nomlarini aniqlovchi kursor yarating;

  3. Kursordan foydalanib, eng ko‘p talaba o‘qiydigan protsedura yarating;

  4. Talaba Familiyasi, ismi, sharifi maydonlaridagi ma’lumotlarni bitta maydonda initsial ko‘rinishiga o‘giruvchi funksiya yarating (Azimov Botir Xakimovish – Azimov B.X);

  5. Funksiyaga uzatilgan sonli qiymatdan katta yoshli talabalarni aniqlang;

  6. 20 yoshdan katta talabalar haqidagi ma’lumotlarni chiqaruvchi protsedurani yarating;

  7. Kiritilgan sonli qiymatga mos keluvchi soatli fanlarni aniqlash (±10 soat atrofida farq qilishi mumkin);

  8. “PL/SQL da kursor, funksiya va protseduralar yaratish” hisobotini tayyorlang;

  9. Laboratoriya ishini nazorat savollariga javob berib, himoya qiling.

Nazariy ma’lumotlar


“Oracle” da kursor so‘rov bajarilgandan so‘ng, olingan natijalar majmuasini va u bilan bog‘langan joriy yozuvni ko‘rsatuvchi belgini anglatadi.
PL/SQL da ikki turdagi kursor qo‘llaniladi: Aniq va aniqlanmagan (явный, неявный). Aniq kursor dasturlovchi tomonidan e’lon qilinadi, aniqlanmagan kursorni esa e’lon qilish talab qilmaydi.
Kursor bir yoki bir nechta yozuvni qaytarishi mumkin.
Bir nechta yozuvni qaytaradigan so‘rovlar uchun aniq kursordan foydalanish maqsadga muvofiq.
Kursor PL/SQL ixtiyoriy blokida, qism dasturlarda yoki paketlarda e’lon qilinishi mumkin.
Aniq kursorni boshqarish uchun CURSOR, OPEN, FETCH va CLOSE operatorlaridan foydalaniladi:

  • CURSOR operatori aniq kursorni e’lon qiladi.

  • OPEN operatori kursorni ochadi va ko‘rsatilgan so‘rovga asoslanib yangi natijalar majmuasini yaratadi.

  • FETCH operatori natijalar majmuasidan satrlarni navbat bilan chiqaradi.

  • CLOSE operatori kursorni yopadi va egallab turgan resurslarni bo‘shatadi.


Kursor quyidagi xossalarga ega:

Xossa

Qiymat qaytarilishi

Misol

%Found

True, agar fetch operatori kamida bitta yozuv qaytarsa

Cursor_nomi%Found




False, agar fetch operatori biror yozuv qaytarmasa




%NotFound

True, agar fetch operatori biror yozuv qaytarmasa

Cursor_nomi%NotFound

False, agar fetch operatori kamida bitta yozuv qaytarsa

%RowCount

Cursordagi yozuvlar soni

Cursor_nomi%RowCount

%IsOpen

Cursor ochiqligini tekshiradi (True, False)

Cursor_nomi%ISOPEN

Kursordan foydalanish ketma-ketligi

Misol–1.
DECLARE
––1. kursorni e’lon qilish
CURSOR empcur
IS
SELECT empno, ename FROM emp; v_empno emp.empno%TYPE; v_name emp.ename%TYPE;
BEGIN
OPEN empcur;
–– 2: kursorni ochish
LOOP
–– 3: kursordagi ma’lumotlarni LOOP orqali o‘qish. FETCH empcur
INTO v_empno, v_name;
EXIT WHEN empcur%NOTFOUND;

Download 1.49 Mb.

Do'stlaringiz bilan baham:
1   ...   43   44   45   46   47   48   49   50   ...   57




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