คู่มือฉบับสมบูรณ์เกี่ยวกับขั้นตอนและฟังก์ชันใน PL SQL – TechCult
เบ็ดเตล็ด / / April 07, 2023
ภาษาโปรแกรมเป็นระบบสำหรับการเขียนโปรแกรมคอมพิวเตอร์ แม้ว่าภาษาโปรแกรมหลายภาษาจะเป็นแบบข้อความ แต่ภาษาอื่นๆ ก็อาจเป็นกราฟิกได้เช่นกัน ภาษาเหล่านี้ช่วยให้โปรแกรมเมอร์สามารถสื่อสารกับคอมพิวเตอร์ได้ Structured Query Language (SQL) เป็นภาษาโปรแกรมประเภทหนึ่งที่ช่วยในการจัดเก็บ จัดการ และดึงข้อมูลที่จัดเก็บไว้ในฐานข้อมูลเชิงสัมพันธ์ ในคู่มือวันนี้ เราจะแบ่งปันรายละเอียดเกี่ยวกับการดำเนินการบล็อกชื่อ (ขั้นตอนและฟังก์ชัน) ซึ่งเป็นโปรแกรมย่อยสำหรับ PL SQL ดังนั้น หากคุณกำลังมองหาคำแนะนำอย่างละเอียดเกี่ยวกับขั้นตอนและฟังก์ชันใน PL SQL คุณก็มาถูกที่แล้ว ในเอกสารนี้ พร้อมกับหัวข้อโพรซีเดอร์ที่จัดเก็บ PL SQL คุณจะได้เรียนรู้เกี่ยวกับตัวอย่างโพรซีเดอร์ PL SQL ไม่ต้องพูดถึงขั้นตอนการเรียก PL SQL ขั้นตอนการออกจาก PL SQL และตัวอย่างฟังก์ชัน PL SQL ที่มีความสำคัญเท่าเทียมกันในการเรียนรู้หากคุณเป็นโปรแกรมเมอร์รุ่นใหม่ ดังนั้น เรามาเริ่มกันเลยด้วยคำแนะนำอย่างละเอียดเกี่ยวกับ PL SQL
สารบัญ
คู่มือฉบับสมบูรณ์เกี่ยวกับขั้นตอนและฟังก์ชันใน PL SQL
ที่นี่ เราได้แสดงขั้นตอนและฟังก์ชัน PL SQL พร้อมตัวอย่างโดยละเอียด
PL SQL คืออะไร?
- PL SQL เป็นรูปแบบย่อของ ส่วนขยายของภาษาขั้นตอนไปยัง SQL.
- PL SQL เป็นภาษาที่มีโครงสร้างบล็อกสำหรับโปรแกรมเมอร์ที่ช่วยพวกเขา รวมพลังของ SQL กับ คำสั่งขั้นตอน
- มันคือ ออราเคิล คอร์ปอเรชั่น การขยายขั้นตอน
- ภาษาขั้นตอนนี้มีอยู่ใน ออราเคิล ฐานข้อมูล, คูณสิบ ฐานข้อมูลในหน่วยความจำ และ ไอบีเอ็ม ดีบี2.
- ในขณะรันไทม์ ทั้ง PL/SQL และ SQL จะมีประสิทธิภาพสูงสุดโดยการรันภายใน กระบวนการเซิร์ฟเวอร์เดียวกัน.
- PL SQL ช่วยให้มั่นใจว่าการประมวลผลคำสั่ง SQL มีประสิทธิภาพและไม่ถูกรบกวนโดยการปรับปรุง การพกพา, ความปลอดภัย, และ ความทนทาน ของฐานข้อมูล
- PL SQL หมายถึงการสั่งให้คอมไพเลอร์ทำงาน จะทำอย่างไร ผ่าน เอสคิวแอล และเกี่ยวกับ วิธีการทำ มันผ่านของมัน วิธีการขั้นตอน.
- PL SQL ช่วยให้โปรแกรมเมอร์ควบคุมได้มากขึ้นด้วย การใช้ลูป, เงื่อนไข, และ แนวคิดเชิงวัตถุ.
ขั้นตอนและฟังก์ชันใน PL SQL คืออะไร
- PL SQL มีสองโปรแกรมย่อยที่เรียกว่า ขั้นตอน และ ฟังก์ชั่น.
- โดยปกติจะใช้ขั้นตอนในการ ดำเนินการการกระทำ และฟังก์ชั่นในการ คำนวณค่า.
- โปรแกรมย่อยใน PL SQL มี ส่วนที่เปิดเผย, หนึ่ง ส่วนที่ปฏิบัติการได้และ ส่วนการจัดการข้อยกเว้นที่เป็นทางเลือก.
- โปรแกรมย่อยเหล่านี้สามารถสร้างและบันทึกในฐานข้อมูลเป็น วัตถุฐานข้อมูล.
- โปรแกรมย่อยของโพรซีเดอร์และฟังก์ชันใน PL SQL ส่งคืน ค่าเดียว ซึ่งส่วนใหญ่จะใช้ในการ คำนวณ และ คืนค่า.
- โปรแกรมย่อยเหล่านี้เป็นเพียงชุดของ คำสั่ง PL/SQL และ SQL ที่สามารถดำเนินการก งานเฉพาะ.
วิธีสร้าง Stored Procedure และ Function ใน PL SQL
เมื่อมีการเขียนบล็อกของโค้ดสำหรับโพรซีเดอร์หรือฟังก์ชันที่เก็บไว้ของ PL SQL โค้ดเหล่านั้นจะถูกคอมไพล์โดยเอ็นจิ้น Oracle เมื่อรวบรวมแล้วจะถูกจัดเก็บเป็นวัตถุฐานข้อมูล โพรซีเดอร์ที่เก็บไว้หรือบล็อกฟังก์ชันของโค้ดประกอบด้วยสามส่วน:
- ส่วนที่ประกาศ: ในส่วนนี้ จะมีการประกาศตัวแปร ค่าคงที่ เคอร์เซอร์ หรือข้อยกเว้นที่จะใช้ในโพรซีเดอร์หรือฟังก์ชัน
- ส่วนที่ปฏิบัติการได้: ในส่วนนี้จะเขียนนิยามของโพรซีเดอร์หรือฟังก์ชันที่สร้างขึ้น ส่วนนี้ยังประกอบด้วยคำสั่ง PL/SQL หรือ SQL สำหรับกำหนดค่า จัดการข้อมูล และควบคุมการดำเนินการ
- ส่วนการจัดการข้อยกเว้น: ส่วนสุดท้ายนี้เป็นทางเลือกและมีข้อยกเว้นที่คาดว่าจะเขียนขึ้นซึ่งอาจเกิดขึ้นระหว่างการดำเนินการของโค้ดที่เขียนในส่วนที่ปฏิบัติการได้
ข้อดีของ Stored Procedure และ Function ใน PL SQL
ก่อนที่เราจะเปิดเผยตัวอย่างโพรซีเดอร์ PL SQL คุณต้องทำความคุ้นเคยกับข้อดีของโปรแกรมย่อยของโพรซีเดอร์และฟังก์ชันก่อน
- เพิ่มประสิทธิภาพฐานข้อมูล: Oracle engine ช่วยในการคอมไพล์อัตโนมัติ นอกจากนี้ เมื่อใดก็ตามที่ขั้นตอนหรือฟังก์ชันการเรียก PL SQL เสร็จสิ้น เอ็นจิ้น Oracle จะโหลดโค้ดที่คอมไพล์แล้วใน SGA หรือ System Global Area ซึ่งช่วยให้ดำเนินการได้เร็วขึ้น
- ใช้ซ้ำได้และไม่ซ้ำซ้อน: ไม่สามารถเขียนจำนวนบรรทัดของโค้ดซ้ำๆ ได้ เนื่องจากบล็อกโค้ดเดียวกันสำหรับโพรซีเดอร์หรือฟังก์ชันสามารถเรียกกี่ครั้งก็ได้บนข้อมูลหลายชุด
- ความปลอดภัย: ความปลอดภัยของฐานข้อมูลยังรักษาไว้ด้วยการใช้โพรซีเดอร์หรือฟังก์ชันที่เก็บไว้ เนื่องจากช่วยควบคุมการใช้งานและการเข้าถึงโดยให้สิทธิ์แก่ผู้ใช้ แม้ว่าจะไม่มีการอนุญาตให้แก้ไขหรือจัดการฐานข้อมูลแก่ผู้ใช้
- ความซื่อสัตย์: ข้อดีอีกประการของการใช้โพรซีเดอร์หรือฟังก์ชันที่เก็บไว้ของ PL SQL คือทำให้มั่นใจได้ถึงความสมบูรณ์เนื่องจากถูกจัดเก็บเป็นวัตถุฐานข้อมูลโดย Oracle engine
- บันทึกหน่วยความจำ: ข้อดีอย่างหนึ่งของโพรซีเดอร์หรือฟังก์ชันที่เก็บไว้คือใช้หน่วยความจำร่วมกันซึ่งช่วยในการบันทึกหน่วยความจำเป็น สำเนาเดียวของโพรซีเดอร์หรือฟังก์ชันที่สามารถโหลดโดยผู้ใช้จำนวนหนึ่งที่ได้รับอนุญาตให้ทำ เดียวกัน.
อ่านเพิ่มเติม:วิธีแก้ไขจาวาสคริปต์: โมฆะ (0) ข้อผิดพลาด
ไวยากรณ์สำหรับการสร้างกระบวนงานที่เก็บไว้
คุณสามารถดูไวยากรณ์ด้านล่างที่ใช้สร้างกระบวนงานที่เก็บไว้ ออราเคิล:
สร้างหรือแทนที่ขั้นตอน (เข้า/ออก/เข้า , เข้า/ออก/เข้า การประกาศตัวแปร/ค่าคงที่;เริ่ม-- เนื้อหาของโปรแกรมย่อย PL/SQL;ข้อยกเว้น-- บล็อกการจัดการข้อยกเว้น ;จบ,...) เป็นเหมือน ;
ในรหัสด้านบน:
- ขั้นตอน_ชื่อ แสดงถึงชื่อของขั้นตอน
- ตัวแปร_ชื่อ แสดงถึงชื่อของตัวแปรที่ใช้ในกระบวนงานที่เก็บไว้
- สร้าง หรือ เปลี่ยนขั้นตอน แทนคีย์เวิร์ดที่ใช้สำหรับระบุชื่อโพรซีเดอร์ที่จะสร้าง
- เริ่ม, ข้อยกเว้น, และ จบ แสดงคีย์เวิร์ดที่ใช้เพื่อระบุส่วนต่างๆ ของโพรซีเดอร์ที่ถูกสร้างขึ้น
- เข้า/ออก/เข้า แสดงถึงโหมดพารามิเตอร์ที่ซึ่ง ใน อ้างถึง อ่านเท่านั้น โหมดที่ใช้สำหรับตัวแปรที่จะรับค่าจากผู้ใช้ นี่คือโหมดพารามิเตอร์เริ่มต้น
- ออก อ้างถึง เขียนเท่านั้น โหมดที่ใช้สำหรับตัวแปรที่คืนค่าให้กับผู้ใช้
- ในออก อ้างถึง อ่าน และ เขียน โหมดที่ใช้สำหรับตัวแปรที่จะรับค่าหรือคืนค่าให้กับผู้ใช้
- แสดงถึงการสิ้นสุดของคำนิยามขั้นตอน คุณยังสามารถใช้ END แทนได้
ตัวอย่างขั้นตอน PL SQL
สำหรับรหัสขั้นตอนด้านล่างนี้ ต่อไปนี้เป็นตัวอย่างง่ายๆ ที่จะแสดงให้เห็นอย่างชัดเจนถึงการใช้ขั้นตอนการจัดเก็บสำหรับการบวกเลขสองตัว:
ตั้งค่าเอาต์พุตเซิร์ฟเวอร์บน;สร้างหรือแทนที่ผลรวมของขั้นตอน (โดยที่หมายเลข IN, b หมายเลข IN) คือหมายเลขค;เริ่มค := a+b;dbms_output.put_line ('ผลรวมของสอง nos= '|| c);สิ้นสุด ผลรวม;
ในกรณีที่เรียกใช้โพรซีเดอร์ โค้ดต่อไปนี้จะถูกดำเนินการ:
ตั้งค่าเอาต์พุตเซิร์ฟเวอร์บน;ประกาศเลข x;หมายเลข y;เริ่มx := &x;ย := &y;ผลรวม (x, y);จบ;ที่ไหน:ป้อนค่าสำหรับ x: 10ป้อนค่าสำหรับ y: 20ผลรวมของสองหมายเลข: 30
สร้างขั้นตอน PL SQL สำเร็จแล้ว
ไวยากรณ์สำหรับการสร้างฟังก์ชันใน PL SQL
เมื่อคุณทราบวิธีสร้างไวยากรณ์สำหรับกระบวนงานที่เก็บไว้และตัวอย่างแล้ว ก็ถึงเวลาอธิบายเกี่ยวกับการสร้างฟังก์ชันใน PL/SQL:
สร้างหรือแทนที่ฟังก์ชัน (ใน , ใน กลับ,...) เป็นเหมือน การประกาศตัวแปร/ค่าคงที่;เริ่ม-- เนื้อหาของโปรแกรมย่อย PL/SQL;ข้อยกเว้น-- บล็อกการจัดการข้อยกเว้น ;จบ;
ในรหัสด้านบน:
- Function_name แสดงถึงชื่อฟังก์ชัน
- ตัวแปร_ชื่อ แทนชื่อตัวแปรสำหรับตัวแปรที่ใช้ในฟังก์ชัน
- สร้าง หรือ แทนที่ฟังก์ชัน แทนคำสำคัญที่ใช้สำหรับชื่อของฟังก์ชันที่จะสร้าง
- ใน แสดงถึง อ่านเท่านั้น โหมดที่ใช้สำหรับตัวแปรที่จะรับค่าจากผู้ใช้ นี่คือพารามิเตอร์เริ่มต้น
- กลับ แทนคีย์เวิร์ดที่ตามด้วยประเภทข้อมูลที่ระบุประเภทข้อมูลของค่าที่ฟังก์ชันจะส่งกลับ
อ่านเพิ่มเติม:แก้ไขคำสั่งล้มเหลวด้วยรหัสข้อผิดพลาด 1 ข้อมูล Python Egg
ตัวอย่างฟังก์ชัน PL SQL
ด้านล่างนี้เป็นตัวอย่างของฟังก์ชัน PL SQL ซึ่งสาธิตการใช้ฟังก์ชันสำหรับการบวกเลขสองตัว:
ตั้งค่าเอาต์พุตเซิร์ฟเวอร์บน;สร้างหรือแทนที่ผลรวมของฟังก์ชัน (a IN number, b IN number) Return Number ISหมายเลขค;เริ่มค := a+b;กลับ ค;จบ;
ในกรณีที่เรียกใช้ฟังก์ชันผลรวม โค้ดต่อไปนี้จะถูกดำเนินการ:
ตั้งค่าเอาต์พุตเซิร์ฟเวอร์บน;ประกาศหมายเลข 1;หมายเลข 2;หมายเลขผลลัพธ์เริ่มหมายเลข 1 := &no1;no2 := &no2;ผลลัพธ์ := ผลรวม (no1,no2);dbms_output.put_line('ผลรวมของสอง nos='||result);จบ;ที่ไหน:ป้อนค่าสำหรับ no1: 5ป้อนค่าสำหรับ no2: 5ผลรวมของสองหมายเลข: 10
สร้างขั้นตอน PL SQL สำเร็จแล้ว
อ่านหัวข้อถัดไปเพื่อทราบเกี่ยวกับขั้นตอนการออกจาก PL SQL
ขั้นตอนการออกจาก PL SQL คืออะไร
Exit ช่วยเมื่อคำสั่งออกจากการวนซ้ำปัจจุบันของลูปเมื่อเงื่อนไขในคำสั่ง WHEN เป็นที่พอใจ และโอนการควบคุมไปยังจุดสิ้นสุดของลูปที่กำลังดำเนินอยู่ ไม่สามารถใช้คำสั่ง exit นอกลูปได้ และมีไว้สำหรับการออกจากลูปเช่นกัน อย่างไม่มีเงื่อนไขโดยใช้คำสั่ง Exit and Continue หรือใช้เงื่อนไข Exit When และ Continue When อย่างมีเงื่อนไข งบ
ความแตกต่างระหว่างกระบวนงานที่เก็บไว้และฟังก์ชัน
เมื่อคุณทราบขั้นตอนและฟังก์ชันใน PL SQL แล้ว ในที่สุดก็ถึงเวลาที่จะต้องทราบความแตกต่างพื้นฐานระหว่างทั้งสองเช่นกัน:
- ขั้นตอนการเก็บ อาจหรือไม่ส่งคืนค่าไปยังส่วนที่เรียกของโปรแกรม ในขณะที่ การทำงาน ส่งกลับค่าไปยังส่วนที่เรียกของโปรแกรม
- ขั้นตอนการเก็บ คืนค่าโดยใช้พารามิเตอร์ OUT ในขณะที่ การทำงาน คืนค่าโดยใช้ RETURN
- ขั้นตอนการเก็บ ใช้พารามิเตอร์ IN, OUT, IN OUT ในขณะที่ การทำงาน ใช้พารามิเตอร์ IN เท่านั้น
- ขั้นตอนการเก็บ ไม่ระบุประเภทข้อมูลของค่าหากจะส่งคืนหลังจากการเรียกใช้ในขณะที่ การทำงาน ระบุประเภทข้อมูลของค่าที่จะส่งคืนหลังจากการเรียกใช้
- ขั้นตอนการเก็บ ไม่สามารถเรียกใช้จากบล็อกฟังก์ชันของโค้ดได้ ในขณะที่ การทำงาน สามารถเรียกได้จากบล็อกขั้นตอนของรหัส
ที่แนะนำ:
- DDR4 vs DDR5 RAM: อะไรดีกว่าสำหรับการเล่นเกม?
- เขียงหั่นขนมมีกี่ประเภท?
- วิธีแยกวิเคราะห์ข้อความ
- 4 วิธีในการแยกสตริงด้วยตัวคั่นใน SQL
เราหวังว่าเอกสารของเราใน ขั้นตอนและฟังก์ชันใน PL SQL มีประโยชน์และประสบความสำเร็จในการตอบข้อสงสัยทั้งหมดของคุณเกี่ยวกับ PL SQL และโปรแกรมย่อย โพรซีเดอร์และฟังก์ชัน ขั้นตอนการออกจาก PL SQL และอื่นๆ หากเราช่วยเหลือคุณในทางใดทางหนึ่งหรือมีคำถามเพิ่มเติมจากฝ่ายคุณ โปรดแสดงความคิดเห็นด้านล่างเพื่อแจ้งให้เราทราบ
Elon เป็นนักเขียนด้านเทคโนโลยีที่ TechCult เขาเขียนคู่มือวิธีใช้มาประมาณ 6 ปีแล้วและครอบคลุมหัวข้อต่างๆ มากมาย เขาชอบที่จะครอบคลุมหัวข้อที่เกี่ยวข้องกับ Windows, Android และเทคนิคและเคล็ดลับล่าสุด