• Funktsiyani yaratish.
  • EXCEPTION istisno holatlar] END
  • IN OUT
  • Relyatsion ma’lumot modeli. Ma’lumotlar bazasida munosabatlar. Tranzaksiyalarni boshqarish reja




    Download 14.49 Kb.
    bet4/5
    Sana20.01.2024
    Hajmi14.49 Kb.
    #141700
    1   2   3   4   5
    Bog'liq
    Relyatsion ma’lumot modeli. Ma’lumotlar bazasida munosabatlar. T-fayllar.org
    объективка, Документ Microsoft Word, dedline, 2-topshiriq
    Tranzaksiyalarni boshqarish
    Funktsiya bu bir xil amallar ketma ketligini bajarish jarayonini bitta qolipga solib, qiymatni hisoblaydigan usuldir.
    Funksiya sintaksisini va Oracle / PLSQL-da funktsiyalarni qanday yaratishni va o'chirishni misollar yordamida o'rganamiz.

    Funktsiyani yaratish.
    Boshqa dasturlash tillari singari, biz Oracleda o'z funktsiyalarimizni yaratishimiz mumkin.
    Sintaksisi quyidagicha:

    CREATE [OR REPLACE] FUNCTION funksiya_nomi
    [ (parametr [, parametr, …]) ]
    RETURN ma'lumot_turi IS | AS
    [local e’lonlar]
    BEGIN
    bajariladigan amallar
    [EXCEPTION
    istisno holatlar]
    END [funksiya_nomi];

    Protsedura yoki funktsiyani yaratishda biz e'lon qilinishi mumkin bo'lgan parametrlarning uch turini aniqlashimiz mumkin:

    IN - parametr protsedura yoki funktsiyaga murojaat qilishi mumkin. Protsedura yoki funktsiya bo'yicha parametr qiymatini o'zgartirib bo'lmaydi.
    OUT - parametr protsedura yoki funktsiyani anglatmaydi, lekin protsedura yoki funktsiya orqali parametrning qiymati o'zgartirilishi mumkin.
    IN OUT - parametr protsedura yoki funktsiyaga murojaat qilishi mumkin va parametr qiymatlari protsedura yoki funktsiya tomonidan o'zgartirilishi mumkin.
    Misol
    Oracleda funktsiyani yaratishga misol ko'ramiz.

    Oracle PL/SQL



    CREATE OR REPLACE Function FindCourse ( name_in IN varchar2 )


    RETURN number IS cnumber number;
    cursor c1 is SELECT course_number
    FROM courses_tbl
    WHERE course_name = name_in;
    BEGIN
    open c1;
    fetch c1 into cnumber;
    if c1%notfound then
    cnumber := 9999;
    end if;
    close c1;
    RETURN cnumber;
    EXCEPTION
    WHEN OTHERS THEN
    raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
    END;

    Ushbu funksiya FindCourse deb nomlanadi. Unda name_in bitta parametr mavjud va butun turdagi qiymatni qaytaradi. Agar funktsiya "course_name" ga asoslangan holda topilsa, funktsiya "course_number" ni qaytaradi. Aks holda, 99999 ni qaytaradi.


    SQL so'rovida yangi funktsiyamizga quyidagicha murojaat qilishimiz mumkin:
    SELECT course_name, FindCourse(course_name) AS course_id

    FROM courses


    WHERE subject = ‘Mathematics’;

    Download 14.49 Kb.
    1   2   3   4   5




    Download 14.49 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Relyatsion ma’lumot modeli. Ma’lumotlar bazasida munosabatlar. Tranzaksiyalarni boshqarish reja

    Download 14.49 Kb.