ทำความรู็จักกับ User Defined Function บน SQL Server

อัพเดท 11 มีนาคม 2557 15:51 - อ่าน 4,134 - หมวดหมู่ เรียนรู้คำสั่งจัดการข้อมูลใน SQL Server


ในการเขียนโค๊ดภาษา SQL Server นั้นนอกจากเราจะต้องรู้จักคำสั่งในการคิวรี่ข้อมูลแล้วยังต้องรู้จักการใช้งาน Stored Procedures ที่ได้แนะนำวิธีการใช้งานไปก่อนหน้านี้แล้ว และเราจะต้องรู้จักการใช้งานของ User Defined Function ซึ่งจะมีโครงสร้างหลัก ๆ คล้าย ๆ กับ Stored Procedures แต่มีวิธีใช้งานที่แตกต่างกันออกไป

ข้อแตกต่างระหว่าง User Defined Function และ Stored Procedures
  • Stored Procedures สามารถส่งค่ากลับมาเป็นได้เพียงค่าเดียวที่เป็นจำนวนเต็มหรือ Integer เท่านั้น แต่ User Defined Function สามารถกำหนดได้ว่าต้องการส่งค่าคืนกลับเป็นอะไรบ้างทั้งส่งค่ากลับไปเป็นตัวแปรที่มีอยู่ใน SQL Server อย่าง int, varchar, datetime, decimal หรือตัวแปรอื่น ๆ และยังสามารถส่งค่ากลับไปเป็นแบบตารางได้อีกด้วย
  • Stored Procedures จะเน้นการส่งค่าเข้าไปทำงาน และต้องการผลตอบกลับมาเพียงค่าการทำงานดังกล่าวนั้นสำเร็จหรือไม่สำเร็จ แต่  User Defined Function มีความสามารถที่เหนือกว่าทั้งทำงานทั้งสามารถส่งค่าต่าง  ๆ กลับออกมาใช้งานต่อได้อีกด้วย





ข้อจำกัดของ User Defined Function

  • ไม่สามารถส่งค่าตัวแปรพิเศษที่มีข้อมูลจำนวนมากออกมาได้เช่น ข้อมูล text, ntext, image, cursor, user-defined และ timestamp
  • สามารถส่งพารามิเตอร์เข้ามาได้สูงที่สุด 1,024 ตัว
  • สามารถเรียก User Defined Function ซ้อนกันได้ไม่เกิน 32 ระดับ
  • ไม่สามารถใช้คำสั่ง EXEC ภายใน UDF ได้
  • ตัวแปรแบบโกลบอลบางตัวไม่สามารถเรียกใช้ได้ภายใน User Defined Function ได้แก่ @@CONNECTIONS, @@CPU_BUSY, @@IDLE, @@MAX_CONNECTIONS, @@PACK_RECEIVED, @@PACK_SENT, @@PACKED_ERRORS, @@TIMETICKS, @@TOTAL_ERRORS, @@TOTAL_READ, @@TOTAL_WRITE, GETDATE, GetUTCDate, NEWID, RAND และฟังก์ชั่น TEXTPTR

นอกจากนี้ User Defined Function ยังสามารถแบ่งประเภทออกได้เป็น Scalar Function, Table-valued Functions และ Multi-statement Table-valued Functions ซึ่งจะกล่าวถึงในโอกาสต่อไปครับ



Tag: User Defined Function คืออะไร, วิธีใช้งาน User Defined Function ใน SQL Server, UDF ใน SQL Sever คืออะไร, วิธีใช้งาน UDF



ร่วมแสดงความคิดเห็น
ชื่อ :
ข้อความ : emo1 emo2 emo3 emo4 emo5 emo6 emo7 emo8 emo9 emo10 emo11 emo12 emo13 emo14 emo15
emo16 emo17 emo18 emo19 emo20 emo21 emo22 emo23 emo24 emo25 emo26 emo27 emo28 emo29 emo30 emo31


- หากต้องการใส่รูปคลิกซ้ายที่รูปภาพได้เลย :)
- ขึ้นบรรทัดใหม่โดยการกด Enter จะทำให้ข้อความไม่ยาวจนเกินไป :)
บวกกันให้ด้วยนะ :
Security Code
 

คอมเม้นท์ทั้งหมด 0 คอมเม้นท์
ค้นหาข้อมูลสุขภาพ


หมวดหมู่
โพสต์ล่าสุด
โค้ดการคิดคำนวณเกรดภาษา VB.NET และ C#.NET (ดู: 15,997)
วิธีใช้งาน BETWEEN ร่วมกับ Datetime ใน SQL Server (ดู: 6,976)
วิธีการใช้งาน Remote Desktop Connection บน Windows พร้อมทั้งการโอนย้ายไฟล์ระหว่างเครื่อง (ดู: 4,450)
คำสั่งคอเม้นท์ใน C# และ VB.NET (ดู: 7,982)
การใช้งานคำสั่ง try catch ในภาษา C#.NET และ VB.NET (ดู: 11,218)
การใช้งานคำสั่ง region ในภาษา C#.NET และ VB.NET (ดู: 5,866)
โค๊ดสำหรับส่งอีเมล์ใน Visual Studio ด้วยภาษา C# และ VB (ดู: 6,278)
วิธีทําตัวเซ็ตอัพสำหรับ Visual Studio 2010 (ดู: 6,437)
การออกแบบส่วนต่าง ๆ ของโปรเจ็คใน ASP.NET (ดู: 4,865)
ประเภทของตัวแปรในภาษา C#.NET (ดู: 3,852)
วิธีใช้คำสั่ง Select Case ใน VB.NET และ C#.NET (ดู: 9,863)
วิธีใช้คำสั่ง do while ใน VB.NET และ C#.NET (ดู: 7,870)
วิธีใช้คำสั่ง while ใน VB.NET และ C#.NET (ดู: 3,649)
วิธีใช้งานคำสั่ง for สำหรับวนลูปใน C#.NET และ VB.NET (ดู: 7,878)
วิธีเรียกใช้งาน Stored Procedure และ User Defined Function ข้ามฐานข้อมูล (ดู: 5,545)
วิธีใช้งาน User Defined Function ซ้อน User Defined Function (ดู: 3,512)
คำสั่งในการแก้ไข เปลี่ยนชื่อ และลบ User Defined Functions (ดู: 3,053)
วิธีการใช้งาน User Defined Function ประเภท Multi-Statement Table-valued Function (ดู: 2,822)
การใช้งาน User Defined Function ประเภท Inline Table-valued Function (ดู: 2,607)
การใช้งาน User Defined Function ประเภท Scalar Function (ดู: 3,105)
ทำความรู็จักกับ User Defined Function บน SQL Server (ดู: 4,135)
วิธีใช้งานคำสั่ง RAISERROR ใน SQL Server (ดู: 3,798)
การใช้คำสั่ง RETURN ใน SQL Server (ดู: 3,409)
วิธีการใช้คำสั่ง Print และ GOTO ใน SQL Server (ดู: 3,902)
วิธีการคอมเม้นท์ใน SQL Server (ดู: 3,808)
การประกาศตัวแปรด้วยคำสั่ง DECLARE ใน SQL Server (ดู: 11,863)
การใช้คำสั่ง While สำหรับวนลูปใน SQL Server (ดู: 7,329)
วิธีใช้งานคำสั่ง CASE ใน SQL Server (ดู: 15,371)
การใช้งาน IF ELSE ใน SQL Server (ดู: 8,461)
คำสั่งในการสร้าง แก้ไข และลบ Stored Procedures (ดู: 4,360)
www.SiamCoding.com เว็บสอนเทคนิคการเขียนโค๊ด ASP.NET ทริปคอมพิวเตอร์ และแวดวงข่าวไอทีทั่วทุกมุมโลก
สงวนลิขสิทธิ์ © 2555 SiamCoding.com Copy Right 2012 เข้าสู่ระบบ