PL/SQL คืออะไร ตอนที่ 1
PL/SQL คืออะไร ชื่อเต็มคือ PROCEDURE LANGUAGE SQL เป็นการนำคำสั่งต่างๆ ภาษา SQL มารวมกันเป็นโปรแกรมทำให้คำสั่งเหล่านั้นมีประสิทธิภาพ และทำงานได้ตรงตามความต้องการของผู้ใช้มากขึ้น และกว้างขวางมากขึ้น
จุดสังเกตุอย่างหนึ่งที่ต้องระวังคือ Procedure Language SQL เป็นภาษาที่ไม่สนใจอักษรตัวเล็ก-ใหญ่ (Non-Casesensitive)

ข้อดี
- control Flow ของโปรแกรมได้ง่ายกว่าการใช้ SQL ธรรมดา
- เข้าถึงข้อมูลได้ง่ายไม่ซับซ้อน อ่านโปรแกรมได้ง่ายขึ้น
- เป็นภาษา cross platform โดยเขียนครั้งเดียวสามารถนำไปใช้กับ Oracle ได้ทุก OS
- มี Handle Exception ให้ใช้สำหรับตรวจจับความผิดพลาดโปรแกรม
รูปแบบโครงสร้าง
เมื่อเรานำคำสั่งของ SQL มารวมกันเป็นแต่ละหน่วยของคำสั่งเราเรียกว่า Block แต่ละ Block อาจมีรูปแบบการทำงานที่เป็นอิสระ หรือมีรูปแบบที่สัมพันธ์กับ Block อื่นๆ
Block แบ่งเป็น 2 ประเภทคือ
- Anonymous block เป็นหน่วยของคำสั่งที่ถูกประการในโปรแกมสำหรับเตรียม Execute ซึ่ง Anonymous block จะไม่มีการตั้งชื่อ ดังนั้น จึงเป็นอิสระจาก block อื่นๆ เพราะไม่มีชื่อให้เรียกใช้ได้
- Sub-programs เป็นหน่วยของคำสั่งที่มีการตั้งชื่อ และสามารถถูกเรียกใช้ได้โดย program อื่นๆ และสามารถส่งค่ากลับมาให้ได้
รูปแบบ Sub-programs มี 2 แบบคือ Function และ Procedure
คำสั่งพื้นฐานที่ใช้ใน Block
- Declare เป็นการกำหนดตัวแปรที่จะใช้ในโปรแกรมโดยระบุชื่อตัวแปร ชนิดตัวแปร และความยาว
- Begin เป้นการกำหนดการเริ่มต้นของการเขียน statement ซึ่งเป็นการเอาคำสั่ง SQL มาใช้งาน และเมื่อจบคำสั่งทั้งหมดแล้ว เราต้องปิดท้ายด้วย End
- Exception เป็นการกำหนดการทำงาน หรือแสดงผลกรณีที่เกิด Error (ไม่บังคับต้องใส่)
มีการกำหนดรูปแบบของข้อมูลไว้ 2 ชนิด
– ตัวแปร (Variables) ค่าของตัวแปรชนิดนี้จะเปลี่ยนแปลงจากการทำงานของโปรแกรม
– ค่าคงที่ (Constants) ตัวแปรที่ถูกกำค่าตายตัว
credit: bossturteam