- Back to Home »
- function , mysql »
- MySQL กับการสร้าง Functions ใช้งานเอง (User-Defined Functions to MySQL)
Posted by : caeruz
วันอังคารที่ 19 มีนาคม พ.ศ. 2556
สำหรับ SQL นั้นมี ฟังก์ชันมาตรฐาน (Built-In Function) ที่สามารถใช้งานได้อย่างมีประสิทธิภาพ
และเตรียมไว้พร้อมสำหรับผู้ใช้งานอยู่แล้วสามารถเรียกใช้ได้เลย เช่น ฟังก์ชัน LEFT (string, length) , RIGHT (string, length) , MID (string, position, length) เป็นต้น แต่บางครั้งข้อมูลที่เราต้องการอาจจะมีความจำเป็นที่จะต้องปรับแต่งข้อมูลก่อนเพื่อการแสดงผลที่ถูกต้องตามความต้องการ ซึ่งด้วยเหตุนี้นั่นเองจึงเป็นเหตุผลว่าทำไมเราจึงจำเป็นต้องสร้าง function ของ SQL ขึ้นมาไว้ใช้งานเอง (User-Defined Function: UDF) ฟังก์ชันที่เราสร้างเองเป็นยังไง และสามารถสร้างยังไง เรามาดูกันเลยครับ
ตัวอย่างการสร้างฟังก์ชั่นใช้งานเอง
CREATE FUNCTION `SumValues`(`Val1` int,`Val2` int) RETURNS int(11) BEGIN RETURN (Val1 + Val2); ENDจากตัวอย่าง เป็น function สำหรับหาผลรวมของตัวเลข ซึ่งเราสามารถเรียกใช้งานได้ดังนี้
SELECT SumValues(1,2) AS SumOfTwoValues
และผลลัพธ์ที่ได้คือ SumOfTwoValues >> 1+2 = 3 นั่นเอง
เราสามารถศึกษารายละเอียดเพิ่มเติมเกี่ยวกับ การเพิ่มฟังก์ชั่นใหม่ไปยัง MySQL ( UDF ) รวมถึง
ฟังก์ชันมาตรฐาน (Built-In Function) ต่างๆเพิ่มเติมได้ที่ http://dev.mysql.com/doc/
ทำไมผมสร้าง Function ไม่ได้ครับ ไม่ทราบว่ามีการคั้งค่าอะไรเพิ่มเติมหรือป่าวครับ
ตอบลบผมใช้ Appserv 2.5.8 อ่ะครับ
คุณ santhixai xaiyasan ติดปัญหายังไงบ้างครับ มี error message แสดงยังไงบ้างครับ
ลบ#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'AS
ตอบลบBEGIN
RETURN (num1+num2)
END' at line 3