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