วิธีการใช้งาน User Defined Function ประเภท Multi-Statement Table-valued Function

อัพเดท 29 มีนาคม 2557 10:24 - อ่าน 2,631 - หมวดหมู่ เรียนรู้คำสั่งจัดการข้อมูลใน SQL Server


Multi-Statement Table-valued Function เป็น User Defined Function หรือฟังก์ชั่นที่เราสร้างขึ้นมาใช้งานเองอีกหนึ่งประเภท ซึ่งจะมีการส่งค่าคืนกลับมาเป็นตารางเหมือนกับ Inline Table-valued Functions แต่จะมีความแตกต่างกันเพียงนิดเดียวตรงที่ Multi-Statement Table-valued Function จะมีการสร้างตารางชั่วคราวหรือ Temp Table ขึ้นมาซึ่งจะกำหนดด้วยการใส่ @ แล้วตามด้วยชื่อตาราง และกำหนดโครงสร้างของตารางที่ต้องการส่งค่าอออกมาก ในส่วนของซอร์สโค๊ด Insert ข้อมูลในตารางชั่วคราวนั้น ๆ ด้วย ตัวอย่างโครงสร้างการใช้งานมีดังนี้



CREATE  FUNCTION | owner_name. \ function_name

     ( [ [ @parameter_name [AS] scalar_parameter_data_type [ = default ] } [ ,...n]])

RETURNS @return_variable TABLE < table_type_definition >

| WITH < function_option > [ [,] ...n ] ]

| AS ]

BEGIN

     function_body

     RETURN

END

 
ตัวอย่างการใช้งาน Multi-Statement Table-valued Function


CREATE  FUNCTION TestTempTable (@country int)

RETURN @Temp_Customer TABLE

            (

            Cus_Id   int,

            Cus_Name varchar(100),

            Cus_Country int

            )

AS

BEGIN

            INSERT @Temp_Customer

                      SELECT Cus_Id, CusName, Cus_Country

                      FROM Customer

                      WHERE Cus_Country  =@country

            RETURN

END

ซึ่งการเรียกใช้งาน Multi-Statement Table-valued Function สามารถทำได้ง่าย ๆ โดยผ่านคำสั่ง Select เหมือนกับการคิวรี่ข้อมูลทั่ว ๆ ไปนั่นเองตัวอย่างเช่น

SELECT * FROM TestTempTable(10)

SELECT * FROM TestTempTable(50)

ถือว่าเป็นฟังก์ชั่นที่ช่วยให้เราทราบถึงโครงสร้างตารางที่เราต้องการส่งออก มา ทำให้เราสามารถตรวจสอบซอร์สโค๊ดได้รวดเร็วและง่ายดายยิ่งขึ้น ลองเอาไปใช้งานกันดูนะครับ



Tag: Multi-Statement Table-valued Function, วิธีสร้าง Multi-Statement User Defined Function ใน SQL Server, ยูสเซอร์ดีไฟด์ฟังก์ชั่น



ร่วมแสดงความคิดเห็น
ชื่อ :
ข้อความ : 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 (ดู: 14,355)
วิธีใช้งาน BETWEEN ร่วมกับ Datetime ใน SQL Server (ดู: 6,320)
วิธีการใช้งาน Remote Desktop Connection บน Windows พร้อมทั้งการโอนย้ายไฟล์ระหว่างเครื่อง (ดู: 3,990)
คำสั่งคอเม้นท์ใน C# และ VB.NET (ดู: 7,067)
การใช้งานคำสั่ง try catch ในภาษา C#.NET และ VB.NET (ดู: 10,266)
การใช้งานคำสั่ง region ในภาษา C#.NET และ VB.NET (ดู: 5,434)
โค๊ดสำหรับส่งอีเมล์ใน Visual Studio ด้วยภาษา C# และ VB (ดู: 5,809)
วิธีทําตัวเซ็ตอัพสำหรับ Visual Studio 2010 (ดู: 6,049)
การออกแบบส่วนต่าง ๆ ของโปรเจ็คใน ASP.NET (ดู: 4,563)
ประเภทของตัวแปรในภาษา C#.NET (ดู: 3,579)
วิธีใช้คำสั่ง Select Case ใน VB.NET และ C#.NET (ดู: 8,913)
วิธีใช้คำสั่ง do while ใน VB.NET และ C#.NET (ดู: 7,531)
วิธีใช้คำสั่ง while ใน VB.NET และ C#.NET (ดู: 3,377)
วิธีใช้งานคำสั่ง for สำหรับวนลูปใน C#.NET และ VB.NET (ดู: 7,366)
วิธีเรียกใช้งาน Stored Procedure และ User Defined Function ข้ามฐานข้อมูล (ดู: 5,072)
วิธีใช้งาน User Defined Function ซ้อน User Defined Function (ดู: 3,281)
คำสั่งในการแก้ไข เปลี่ยนชื่อ และลบ User Defined Functions (ดู: 2,852)
วิธีการใช้งาน User Defined Function ประเภท Multi-Statement Table-valued Function (ดู: 2,632)
การใช้งาน User Defined Function ประเภท Inline Table-valued Function (ดู: 2,432)
การใช้งาน User Defined Function ประเภท Scalar Function (ดู: 2,871)
ทำความรู็จักกับ User Defined Function บน SQL Server (ดู: 3,904)
วิธีใช้งานคำสั่ง RAISERROR ใน SQL Server (ดู: 3,483)
การใช้คำสั่ง RETURN ใน SQL Server (ดู: 3,166)
วิธีการใช้คำสั่ง Print และ GOTO ใน SQL Server (ดู: 3,438)
วิธีการคอมเม้นท์ใน SQL Server (ดู: 3,486)
การประกาศตัวแปรด้วยคำสั่ง DECLARE ใน SQL Server (ดู: 11,085)
การใช้คำสั่ง While สำหรับวนลูปใน SQL Server (ดู: 6,886)
วิธีใช้งานคำสั่ง CASE ใน SQL Server (ดู: 13,772)
การใช้งาน IF ELSE ใน SQL Server (ดู: 7,996)
คำสั่งในการสร้าง แก้ไข และลบ Stored Procedures (ดู: 4,086)
www.SiamCoding.com เว็บสอนเทคนิคการเขียนโค๊ด ASP.NET ทริปคอมพิวเตอร์ และแวดวงข่าวไอทีทั่วทุกมุมโลก
สงวนลิขสิทธิ์ © 2555 SiamCoding.com Copy Right 2012 เข้าสู่ระบบ