Translate

วันพุธที่ 1 มีนาคม พ.ศ. 2560

How to create function in Oracle.

          สวัสดีครับวันนี้มาทำความรู้จักกับ function ใน Oracle กันครับซึ่งจะคล้ายกับstored procedure ที่พูดถึงก่อนหน้านี้ คือเป็นกลุ่มคำสั่งซึ่งสามารถ return value ที่ต้องการออกไปให้ผู้ใช้ได้เหมือนกันแต่จุดแตกต่างคือ function สามารถเรียกใช้ใน sql command ได้สะดวกกว่านั่นเอง

Example โปรแกรมคำนวนเกรด(Grade calculation)

CREATE FUNCTION get_grade(p_score IN NUMBER) 
   RETURN VARCHAR2 
   IS l_grade VARCHAR2(1);
   BEGIN
      IF p_score >= 80 THEN
         l_grade := 'A';
      ELSIF p_score < 80 AND p_score > 69 THEN
         l_grade := 'B';
      ELSIF p_score < 70 AND p_score > 59 THEN
         l_grade := 'C';
      ELSIF p_score <60 AND p_score > 49 THEN
         l_grade := 'D';
      ELSE
         l_grade := 'F';
      END IF;
      RETURN l_grade;
   END;
วิธีการเรียกใช้ function

1.SELECT GET_GRADE(80) FROM DUAL(TABLE_NAME); (กรณีเรียกใช้ใน sql command)


2.CREATE OR REPLACE GET_GRADE(....) (กรณีเรียกใช้ใน procedure or function)
    IS
    l_grade VARCHAR2(1);
    BEGIN
         .........l_grade := GET_GRADE(80);
         .......
    END;
3.SELECT * FROM TABLE(GET_GRADE(80)); (กรณีที่บางครั้ง return ค่าเป็น array or table type)

ในวันนี้ได้แนะนำและแสดงตัวอย่างในการเขียนและเรียกใช้ oracle function ไปแบบพื้นฐานครับซึ่งสามารถนำไปประยุกต์ใช้ได้ด้านใน function สามารถ coding ได้ตามปกติทั่วไป
      สำหรับวันนี้ก็พอเท่านี้ก่อนครับ หวังว่าจะช่วยมือใหม่ได้ไม่มากก็น้อยครับ แล้วกระทู้หน้าจะมาทำความรู้จักกับ Oracle type การสร้างและการนำมาใช้กันครับ         สวัสดีครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น