ฟังก์ชันสเกลาร์: วิธีการสร้าง เรียก แก้ไข และลบฟังก์ชันสเกลาร์
เผยแพร่แล้ว: 2021-05-26สารบัญ
ฟังก์ชันสเกลาร์คืออะไร?
SQL เป็นหนึ่งในภาษาที่ใช้กันมากที่สุดสำหรับ ระบบการจัดการฐานข้อมูล ภาษานี้ใช้เป็นหลักในการป้อนและดึงข้อมูลจากที่เก็บ เช่นเดียวกับภาษาโปรแกรมอื่น ๆ SQL มีชุดของฟังก์ชัน
ใน SQL Server มีฟังก์ชันหลักสองประเภทในการจัดการข้อมูล:
- ฟังก์ชั่นที่กำหนดโดยระบบ
- ฟังก์ชันที่ผู้ใช้กำหนด
ฟังก์ชันที่ระบบกำหนดเป็นฟังก์ชันที่มีอยู่แล้วภายใน และไม่สามารถเปลี่ยนแปลงฟังก์ชันการทำงานได้ ในทางกลับกัน ฟังก์ชันที่ผู้ใช้กำหนดเองคือฟังก์ชันที่สามารถออกแบบให้ทำงานที่กำหนดเองได้ตามความต้องการของเรา
SQL Server มีฟังก์ชันที่ผู้ใช้กำหนดสามประเภท
- ฟังก์ชันค่าตารางอย่างง่าย
- ฟังก์ชันค่าตารางสเกลาร์
- ฟังก์ชันค่าตารางหลายคำสั่ง
ในบทความนี้ เราจะพูดถึงฟังก์ชันค่าสเกลาร์ (ฟังก์ชันที่ผู้ใช้กำหนดเอง) และเรียนรู้วิธีสร้าง
ฟังก์ชันค่าสเกลาร์ใน SQL ใช้พารามิเตอร์มากกว่าหนึ่งตัว และส่งกลับค่าเดียวของประเภทข้อมูลใดๆ ในการสร้างฟังก์ชันค่าสเกลาร์ จะใช้คำสั่ง "สร้าง" ฟังก์ชันประเภทนี้รวมอยู่ในโค้ดเพื่อทำให้โค้ดง่ายขึ้น
ตัวอย่างเช่น คุณอาจต้องดำเนินการคำนวณที่ท้าทายในขั้นตอนต่างๆ ในโค้ดของคุณ แทนที่จะต้องเขียนโค้ดซ้ำแล้วซ้ำเล่า คุณสามารถสร้างฟังก์ชันสเกลาร์และสรุปโค้ดในนั้นได้ ตอนนี้ สิ่งที่คุณต้องทำสำหรับการคำนวณที่น่าเบื่อนั้นคือการเรียกใช้ฟังก์ชันสเกลาร์ด้วยไวยากรณ์ง่ายๆ
ข้อควรจำ – ชื่อของฟังก์ชันค่าสเกลาร์ต้องมีอักขระไม่เกิน 128 ตัว และต้องขึ้นต้นด้วยคำนำหน้า fn เพื่อความสะดวก
จะสร้างฟังก์ชันสเกลาร์ได้อย่างไร
ในการสร้างฟังก์ชันสเกลาร์ คุณต้องใช้คำสั่ง "สร้างฟังก์ชัน" ตามที่ระบุด้านล่าง:
1 สร้างฟังก์ชัน [schemaName.]fnName (รายการพารามิเตอร์)
2 ส่งคืน data_type AS
3 BEGIN
4 ประโยค
5 มูลค่าผลตอบแทน
6 END
การทำความเข้าใจไวยากรณ์
บรรทัดที่ 1 – CREATE FUNCTION คือคำสั่งที่บอกให้เซิร์ฟเวอร์ SQL สร้างฟังก์ชันสเกลาร์ ที่นี่ ชื่อสคีมาเป็นทางเลือก หากไม่ได้ระบุไว้ SQL จะใช้ dbo เป็นค่าเริ่มต้น ชื่อสคีมาตามด้วยชื่อของฟังก์ชัน ซึ่งต้องมีพารามิเตอร์อยู่ภายในวงเล็บ
บรรทัดที่ 2 – ระบุชนิดข้อมูลของค่าตอบแทนในคำสั่ง RETURN
บรรทัดที่ 3 – ระบุคำสั่งส่งคืนเพื่อคืนค่าภายในเนื้อหาของฟังก์ชัน
ตัวอย่าง
ตัวอย่างต่อไปนี้สร้างฟังก์ชันที่คำนวณยอดขายรวมตามราคาปลีก ปริมาณ และส่วนลด:
สร้างฟังก์ชัน sales.TotalSale(
@ปริมาณ QTY,
@listprice ม.ค.(15,4),
@disnt ม.ค. (13, 2)
)
ส่งคืน ม.ค.(15,4)
เช่น
เริ่ม
RETURN @quantity * @list_price * (1 – @disnt);
จบ;
ฟังก์ชันนี้สามารถใช้ในภายหลังเพื่อคำนวณยอดขายรวมของใบสั่งขายใดๆ จากฐานข้อมูล
จะเรียกฟังก์ชันสเกลาร์ได้อย่างไร
ฟังก์ชันสเกลาร์สามารถเรียกได้เหมือนกับฟังก์ชันในตัว
ตัวอย่าง: ข้อความที่กล่าวถึงด้านล่างแสดงวิธีการเรียกใช้ ฟังก์ชัน TotalSale () อย่างชัดเจน :
เลือก
sales.TotalSale(10,100,0.1) total_sale;
จะแก้ไขฟังก์ชันสเกลาร์ได้อย่างไร
ในการแก้ไขฟังก์ชันสเกลาร์ คีย์เวิร์ด ALTER จะใช้แทน CREATE ข้อความอื่นๆ ทั้งหมดหลังจากนั้นยังคงเหมือนเดิม:
แก้ไขฟังก์ชัน [schemaName.]fnName (parameterList)
RETURN data_type AS
เริ่ม
งบ
มูลค่าผลตอบแทน
จบ
จะลบฟังก์ชันสเกลาร์ได้อย่างไร
คำสั่ง DROP FUNCTION ใช้เพื่อลบฟังก์ชันสเกลาร์ที่มีอยู่แล้ว:
นี่คือไวยากรณ์ของฟังก์ชัน:
DROP FUNCTION [schemaName.]fnName;
ตัวอย่างเช่น หากต้องการลบฟังก์ชัน TotalSale( ) คุณสามารถใช้คำสั่งต่อไปนี้:
DROP FUNCTION ยอดขายรวม
ฟังก์ชันสเกลาร์เป็นหนึ่งในฟังก์ชันที่ใช้บ่อยที่สุดใน SQL ฟังก์ชันเหล่านี้ทำงานเหมือนกับฟังก์ชันในตัว แต่จริงๆ แล้วมีการกำหนดโดยผู้ใช้ คุณสามารถสร้างฟังก์ชันได้หลายอย่าง หากจำเป็นต้องทำซ้ำชุดคำสั่งในโค้ดของคุณ สิ่งที่คุณต้องทำหลังจากนั้นคือเรียกใช้ฟังก์ชันและส่งพารามิเตอร์ที่เหมาะสม ต่อไปนี้คือประเด็นสำคัญบางประการจากฟังก์ชัน SQL Scalar:
- คุณสามารถใช้ฟังก์ชันสเกลาร์ได้ทุกที่ในคำสั่ง SQL
- ฟังก์ชันสเกลาร์ใช้ตรรกะเช่น WHILE loops และ IF blocks
- ฟังก์ชันสเกลาร์สามารถเรียกฟังก์ชันอื่นๆ ได้
- ฟังก์ชันสเกลาร์ไม่สามารถเข้าถึงข้อมูลได้
- ฟังก์ชันสเกลาร์ควรมีค่า RETURN เนื่องจากยอมรับพารามิเตอร์มากกว่าหนึ่งตัว แต่คืนค่าเพียงค่าเดียว
เรียนรู้ หลักสูตรซอฟต์แวร์ออนไลน์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
บทสรุป
การสร้างฟังก์ชันสเกลาร์ในโปรแกรมของคุณเป็นแนวทางปฏิบัติที่ดีใน SQL ฟังก์ชันสเกลาร์เป็นหนึ่งในวิธีที่ดีที่สุดและมีประสิทธิภาพในการทำให้ทุกคนอ่านโค้ดได้ง่ายขึ้น เราหวังว่าบทความนี้จะช่วยให้คุณเรียนรู้เกี่ยวกับฟังก์ชันสเกลาร์ หากคุณกำลังตั้งตารอที่จะเป็นโปรแกรมเมอร์และมีความรู้ด้านนี้อย่างครอบคลุม ลองพิจารณาหลักสูตร จาก upGrad upGrad เสนอหลักสูตรวิทยาการคอมพิวเตอร์ที่ดีที่สุดจากมหาวิทยาลัยชั้นนำระดับโลก
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาซอฟต์แวร์แบบฟูลสแตก โปรดดูโปรแกรม Executive PG ของ upGrad & IIIT-B ในการพัฒนาซอฟต์แวร์ – ความเชี่ยวชาญพิเศษด้านการพัฒนาแบบเต็มสแต็ก ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง 9 + โครงการและการมอบหมาย สถานะศิษย์เก่า IIIT-B โครงการหลักในทางปฏิบัติและความช่วยเหลือด้านงานกับ บริษัท ชั้นนำ
ฟังก์ชั่นใน SQL คืออะไร?
ฟังก์ชันเป็นโพรซีเดอร์ชนิดพิเศษใน SQL ที่คืนค่า ฟังก์ชันส่งคืนค่าเดียว ส่งคืนค่าหลายค่าในรายการ หรือรวมชุดของแถวเป็นค่าเดียว กล่าวอีกนัยหนึ่งคือทำการคำนวณทันที แทนที่จะจัดเก็บข้อมูลในฐานข้อมูล เพื่อให้แบบสอบถามของคุณสามารถดำเนินการได้อย่างรวดเร็ว ฟังก์ชันคือชุดพื้นฐานของเพรดิเคตที่กำหนดไว้ใน SQL ซึ่งใช้ในการเขียนคำสั่ง SQL ฟังก์ชันแบ่งออกเป็นฟังก์ชันสเกลาร์และฟังก์ชันรวม ฟังก์ชันสเกลาร์คือฟังก์ชันที่คืนค่าเดียวจากนิพจน์
SQL คืออะไร?
SQL ย่อมาจาก Structured Query Language เป็นภาษาโปรแกรมพิเศษที่ใช้สำหรับจัดการข้อมูล ใช้ในระบบฐานข้อมูลส่วนใหญ่ ข้อมูลสามารถอยู่ในรูปแบบของข้อความ ตัวเลข รูปภาพ และวิดีโอ ภาษา SQL ใช้เพื่อดำเนินการสืบค้นข้อมูลและป้อนข้อมูล ภาษา SQL เป็นหนึ่งในภาษาที่ทรงพลังที่สุด ใช้สำหรับเก็บข้อมูลในฐานข้อมูล รองรับโดยระบบฐานข้อมูลต่างๆ เช่น MySQL, Oracle, PostgreSQL เป็นต้น ระบบเหล่านี้สามารถใช้เก็บข้อมูลจำนวนมากซึ่งสามารถใช้สร้างฐานข้อมูลได้ เป็นภาษาหลักสำหรับระบบการจัดการฐานข้อมูล เป็นภาษาสากลสำหรับระบบฐานข้อมูล ฐานข้อมูลมีโครงสร้างโดย SQL ดังนั้นจึงเรียกว่าภาษาคิวรีที่มีโครงสร้าง SQL ใช้สำหรับการจัดการฐานข้อมูลและการจัดการการดำเนินงานฐานข้อมูล เป็นภาษามาตรฐานสำหรับการสืบค้นฐานข้อมูลและการป้อนข้อมูล
ความแตกต่างระหว่าง SQL และ MongoDB คืออะไร?
SQL (Structured Query Language) เป็นภาษาโปรแกรมที่ออกแบบมาสำหรับการจัดการข้อมูลในระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ SQL เป็นหนึ่งในภาษาการเขียนโปรแกรมที่สำคัญและใช้กันอย่างแพร่หลายที่สุดในโลก เป็นมาตรฐานสำหรับการจัดเก็บ เรียกค้น และจัดการข้อมูลในระบบการจัดการฐานข้อมูลเชิงสัมพันธ์ ตัวอย่างเช่น Google, Amazon, Facebook, Instagram, Twitter ใช้ SQL เพื่อจัดเก็บและจัดการข้อมูลผู้ใช้นับพันล้าน MongoDB เป็นฐานข้อมูลที่ไม่สัมพันธ์กัน เป็นฐานข้อมูลแบบเอกสารและแบบไม่มีสคีมา ข้อมูลใน MongoDB ถูกจัดเก็บในรูปแบบของเอกสารที่คล้ายกับ JSON