โพรซีเดอร์คือโปรแกรมย่อยที่สามารถสร้างและบันทึกในไฟล์ เป็นวัตถุฐานข้อมูล เช่นเดียวกับที่คุณสามารถทำได้ในภาษาอื่น ๆ คุณสามารถสร้างและวางขั้นตอนใน SQL เช่นกัน. ในบทความนี้เรามาดูขั้นตอนใน SQL พร้อมด้วยไวยากรณ์และตัวอย่าง
หัวข้อที่กล่าวถึงในบทความคือ:
ขั้นตอนใน SQL คืออะไร?
ขั้นตอนใน (มักเรียกว่าขั้นตอนการจัดเก็บ),เป็นหน่วยที่ใช้ซ้ำได้ซึ่งสรุปตรรกะทางธุรกิจเฉพาะของแอปพลิเคชัน ขั้นตอน SQL คือกลุ่มของคำสั่ง SQL และตรรกะที่รวบรวมและจัดเก็บเข้าด้วยกันเพื่อทำงานเฉพาะ
ด้านล่างนี้เป็นคุณสมบัติหลักของกระบวนการ 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’ แล้วเราจะติดต่อกลับไป