วิธีสร้าง Stored Procedures ใน SQL



บทความเกี่ยวกับโพรซีเดอร์ใน SQL นี้จะช่วยให้คุณเข้าใจว่าโพรซีเดอร์คืออะไรและเพิ่มประสิทธิภาพของฐานข้อมูลเมื่อนำไปใช้อย่างไร

โพรซีเดอร์คือโปรแกรมย่อยที่สามารถสร้างและบันทึกในไฟล์ เป็นวัตถุฐานข้อมูล เช่นเดียวกับที่คุณสามารถทำได้ในภาษาอื่น ๆ คุณสามารถสร้างและวางขั้นตอนใน SQL เช่นกัน. ในบทความนี้เรามาดูขั้นตอนใน SQL พร้อมด้วยไวยากรณ์และตัวอย่าง

หัวข้อที่กล่าวถึงในบทความคือ:





ขั้นตอนใน SQL คืออะไร?

ขั้นตอนใน (มักเรียกว่าขั้นตอนการจัดเก็บ),เป็นหน่วยที่ใช้ซ้ำได้ซึ่งสรุปตรรกะทางธุรกิจเฉพาะของแอปพลิเคชัน ขั้นตอน SQL คือกลุ่มของคำสั่ง SQL และตรรกะที่รวบรวมและจัดเก็บเข้าด้วยกันเพื่อทำงานเฉพาะ

SQL Procedure - โพรซีเดอร์ใน SQL - Edureka



ด้านล่างนี้เป็นคุณสมบัติหลักของกระบวนการ SQL:

โรงงานในเชิงมุมคืออะไร
  • ใช้งานง่ายเพราะใช้งานง่ายมากภาษาระดับสูงที่พิมพ์ยาก
  • รองรับพารามิเตอร์สามประเภท ได้แก่พารามิเตอร์อินพุตเอาต์พุตและอินพุตเอาต์พุต
  • น่าเชื่อถือมากกว่าเทียบเท่าขั้นตอนภายนอก
  • ขั้นตอน SQL ส่งเสริมการใช้ซ้ำและการบำรุงรักษา
  • รองรับเงื่อนไขที่เรียบง่าย แต่ทรงพลังและรูปแบบการจัดการข้อผิดพลาด
  • ส่งคืนค่าสถานะเป็นขั้นตอนการเรียกหรือชุดงานเพื่อระบุความสำเร็จหรือความล้มเหลวและสาเหตุของความล้มเหลว

ตอนนี้คุณรู้แล้วว่าขั้นตอนคืออะไรและทำไมจึงจำเป็นเรามาพูดถึงไวยากรณ์และตัวอย่างของขั้นตอนใน SQL

ไวยากรณ์ของโพรซีเดอร์ใน SQL

ต่อไปนี้แสดงไวยากรณ์พื้นฐานของการสร้างโพรซีเดอร์ใน SQL:



สร้าง [หรือแทนที่] PROCEDURE procedure_name [(parameter_name [IN | OUT | IN OUT] type [])] เป็น BEGIN [declaration_section] executable_section // คำสั่ง SQL ที่ใช้ในกระบวนงานที่เก็บ END GO

คำศัพท์ทางไวยากรณ์

พารามิเตอร์

พารามิเตอร์คือตัวแปรที่เก็บค่าใด ๆประเภทข้อมูล SQL ที่ถูกต้องซึ่งโปรแกรมย่อยสามารถแลกเปลี่ยนค่ากับรหัสหลักได้ กล่าวอีกนัยหนึ่งพีarameters ใช้เพื่อส่งผ่านค่าไปยังโพรซีเดอร์ พารามิเตอร์มี 3 ประเภทที่แตกต่างกันดังนี้:

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

คำศัพท์อื่น ๆ

  • ชื่อขั้นตอน ระบุชื่อของโพรซีเดอร์ มันควรจะไม่ซ้ำกัน
  • ตัวเลือก [หรือแทนที่] อนุญาตให้แก้ไขขั้นตอนที่มีอยู่
  • คือ | AS Clause พวกเขาตั้งค่าบริบทเพื่อดำเนินการโพรซีเดอร์ที่เก็บไว้ความแตกต่างคือคีย์เวิร์ด 'IS' จะใช้เมื่อโพรซีเดอร์ซ้อนอยู่ในบล็อกอื่น ๆ และหากโพรซีเดอร์เป็นแบบสแตนด์อโลนระบบจะใช้ 'AS'
  • Code_Block ประกาศคำสั่งขั้นตอนที่จัดการการประมวลผลทั้งหมดภายในโพรซีเดอร์ที่เก็บไว้ เนื้อหาของ code_block ขึ้นอยู่กับกฎและภาษาขั้นตอนที่ใช้โดย ฐานข้อมูล .

ขั้นตอนใน SQL: ตัวอย่าง

ตัวอย่าง 1

ตัวอย่างต่อไปนี้สร้างขั้นตอนง่ายๆที่แสดงข้อความต้อนรับบนหน้าจอเมื่อดำเนินการ จากนั้นขั้นตอนจะเป็น:

สร้างหรือเปลี่ยนขั้นตอน welcome_msg (para1_name ใน VARCHAR2) IS BEGIN dbms_output.put_line ('Hello World!' || para1_name) END /

ดำเนินการตามขั้นตอนที่เก็บไว้ ขั้นตอนแบบสแตนด์อโลนสามารถเรียกได้สองวิธี & ลบ

  • ใช้ ดำเนินการ คำสำคัญ
  • การเรียกชื่อของโพรซีเดอร์จากบล็อก SQL

ขั้นตอนข้างต้นสามารถเรียกได้โดยใช้ Execute keyword ดังนี้:

EXEC welcome_msg ('ยินดีต้อนรับสู่ Edureka!')

เอาต์พุต

สวัสดีชาวโลก! ยินดีต้อนรับสู่ Edureka

ดำเนินการตามขั้นตอนและข้อความจะพิมพ์ออกมาเป็น“ Hello World! ยินดีต้อนรับสู่ Edureka”

ตัวอย่าง 2

สมมติว่าคุณมีตารางที่มีรายละเอียด Emplyoee เช่น EmployeId, Firstname, Lastname และ DepartmentDetails

ตัวอย่างนี้สร้างโพรซีเดอร์ SQL ที่จะส่งคืนชื่อพนักงานเมื่อ EmployeId ถูกกำหนดให้เป็นพารามิเตอร์อินพุตสำหรับโพรซีเดอร์ที่เก็บไว้ จากนั้นขั้นตอนจะเป็น:

สร้าง PROCEDURE GetStudentName (@employeeID INT, - พารามิเตอร์อินพุต, รหัสพนักงานของพนักงาน @employeName VARCHAR (50) OUT - พารามิเตอร์เอาต์พุต, ชื่อพนักงานของพนักงานเป็น BEGIN SELECT @ EmployeName = Firstname + '' + นามสกุล FROM Employee_Table WHERE EmployeId = @ EmployeID สิ้นสุด

ขั้นตอนในการดำเนินการ:

วิธีการเริ่มต้น AWS CLI
  • ประกาศ @ จ้างงานเป็น nvarchar (50)
  • EXEC GetStudentName 01, เอาต์พุต @employeName
  • เลือก @employeName

ขั้นตอนข้างต้นในการให้รหัสพนักงานเป็นข้อมูลป้อนกลับชื่อของพนักงานนั้น ๆ สมมติว่าเรามีพารามิเตอร์เอาต์พุต tก่อนอื่นเราต้องประกาศตัวแปรเพื่อรวบรวมค่าผลลัพธ์ตอนนี้เรามาดูข้อดีของขั้นตอนใน SQL

ข้อดีของโพรซีเดอร์ใน SQL

วัตถุประสงค์หลักของกระบวนงานที่เก็บไว้ใน SQL คือการซ่อนโดยตรง แบบสอบถาม SQL จากรหัสและปรับปรุงประสิทธิภาพของการดำเนินการฐานข้อมูลเช่นเลือกอัปเดตและลบข้อมูล ข้อดีอื่น ๆ ของขั้นตอนใน SQL คือ:

  • ลดจำนวนข้อมูลที่ส่งไปยังเซิร์ฟเวอร์ฐานข้อมูล อาจเป็นประโยชน์ที่สำคัญกว่าเมื่อแบนด์วิดท์ของเครือข่ายน้อยลง
  • เปิดใช้งานการใช้รหัสซ้ำ
  • ช่วยเพิ่มความปลอดภัยเนื่องจากคุณสามารถให้สิทธิ์แก่ผู้ใช้ในการดำเนินการตามขั้นตอน Stored แทนการให้สิทธิ์บนตารางที่ใช้ในกระบวนงาน Stored
  • สนับสนุนการเรียกโพรซีเดอร์ที่ซ้อนกันไปยังโพรซีเดอร์ SQL อื่นหรือโพรซีเดอร์ที่ใช้ในภาษาอื่น

สรุปขั้นตอนใน SQL (กระบวนงานที่เก็บไว้)ไม่เพียงเพิ่มความเป็นไปได้ในการนำโค้ดกลับมาใช้ซ้ำ แต่ยังเพิ่มประสิทธิภาพของฐานข้อมูลด้วย อย่างไร? โดยการลดการรับส่งข้อมูลของเครือข่ายโดยการลดปริมาณข้อมูลที่ส่งผ่านเครือข่าย ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของบทความนี้

หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ MySQL และทำความรู้จักกับฐานข้อมูลเชิงสัมพันธ์แบบโอเพนซอร์สนี้จากนั้นตรวจสอบไฟล์ ซึ่งมาพร้อมกับการฝึกอบรมสดที่นำโดยผู้สอนและประสบการณ์โครงการในชีวิตจริง การฝึกอบรมนี้จะช่วยให้คุณเข้าใจ MySQL ในเชิงลึกและช่วยให้คุณบรรลุความเชี่ยวชาญในเรื่องนั้น ๆ

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบทความ ‘ขั้นตอนใน SQL’ แล้วเราจะติดต่อกลับไป