[MySQL] จดบันทึกการใช้งาน Function บน MySQL

ตัวอย่าง Function บน MySQL เวลาใช้จริงหรือผ่าน phpMyAdmin ตัด DELIMITER ออกได้เลย แล้วตรง END$$ ก็เปลี่ยนเป็น END; เฉยๆ แต่ถ้าใช้ผ่าน MySQL Client ก็ให้อิงตามรูปแบบนี้

## อัพเดท ##
อันนี้เป็นเครื่องที่ใช้ลอง Server version: 5.5.40-0ubuntu0.14.04.1 - (Ubuntu) ผ่านโปรแกรม Adminer 4.1.0 และ phpMyAdmin 4.2.10.1 ผลก็คือ ไม่ต้องเอา DELIMITER ออกเลยครับ สามารถใช้งานได้เลย :)

DROP FUNCTION IF EXISTS simple_cal;

DELIMITER $$ 

CREATE FUNCTION simple_cal(item INT(12)) RETURNS VARCHAR(255) 
BEGIN 
    DECLARE return_text VARCHAR(255) DEFAULT "";
    CASE WHEN item >= 100 AND item < 200 THEN SET return_text = "100";
    WHEN item >= 200 THEN SET return_text = "200";
    ELSE SET return_text = item;
    END CASE;
    RETURN return_text; 
END $$ 
DELIMITER ;

เวลาเรียกใช้ก็สามารถเรียกใช้แบบนี้ได้เลย
SELECT simple_cal(20) AS `count`;

อันนี้เป็นตัวอย่างการเรียกใช้ฟังก์ชั่นแบบง่ายๆ เอาตัวเลขสองตัวมาบวกกัน
DROP FUNCTION IF EXISTS demo; 
CREATE FUNCTION demo(v1 INT(11), v2 INT(11)) RETURNS INT(11) 
RETURN v1+v2; 

SELECT demo(13, 14) AS `result`;

ส่วนอันนี้เป็น String ปกติ
DROP FUNCTION IF EXISTS test; 
CREATE FUNCTION test(v1 VARCHAR(255)) RETURNS VARCHAR(255) 
RETURN v1; 

SELECT test('demo string') AS `result`;


เพิ่มเติมสำหรับ phpMyAdmin (ไม่แน่ใจว่าเวอร์ชั่นเก่ามันมีรึป่าว) ดูคลิปนี้ได้เลยครับ เป็นการแนะนำการสร้าง function ผ่าน phpMyAdmin .... ง่ายเฟร่ออออ
https://www.youtube.com/watch?v=XKdyTF7VQFY

Ref.

Comments