Section 7: Record และ Collection
- PL/SQL Record และการ INSERT หรือ UPDATE ด้วย Record
- Associative Array (INDEX BY Table), Nested Table และ VARRAY
- สร้างค่าเริ่มต้นด้วย Qualified Expression
- Lab: เก็บข้อมูลชั่วคราวใน Collection แล้วสรุปผล
Section 8: Lab: Explicit Cursor
- ประกาศ OPEN, FETCH และ CLOSE Cursor
- Attribute: %FOUND, %NOTFOUND, %ROWCOUNT และ %ISOPEN
- Cursor FOR Loop, Cursor ที่รับ Parameter และ FOR UPDATE
- Lab: ออกรายงานรายฝ่ายด้วย Cursor
Section 9: Lab: ประมวลผลข้อมูลจำนวนมาก
- Context Switch ระหว่าง SQL Engine และ PL/SQL Engine
- BULK COLLECT พร้อม LIMIT เพื่อคุมหน่วยความจำ
- FORALL และ SAVE EXCEPTIONS
- Lab: เทียบเวลาระหว่าง Loop ทีละแถวกับแบบ Bulk
Section 10: จัดการ Exception อย่างเป็นระบบ
- Predefined และ User-defined Exception พร้อม PRAGMA EXCEPTION_INIT
- RAISE_APPLICATION_ERROR, SQLCODE และ SQLERRM
- บันทึก Error Stack และ Backtrace ลงตาราง Log
- Lab: เพิ่มการจัดการข้อผิดพลาดให้โค้ดจากวันแรก
Section 11: Lab: Stored Procedure และ Function
- สร้าง เรียกใช้ แก้ไข และลบ Procedure และแนะนำ Package
- Parameter แบบ IN, OUT และ IN OUT
- สร้าง Function เรียกใช้จาก SQL และดู Compile Error ด้วย SHOW ERRORS
- Lab: สร้าง Procedure และ Function สำหรับคำนวณและบันทึกข้อมูล
Section 12: Workshop: สภาพแวดล้อมการทำงานและโปรเจกต์ปิดท้าย
- PL/SQL Engine, Dependency, สถานะ INVALID และ Definer กับ Invoker Rights
- Workshop: เขียน Procedure ปิดยอดขายประจำวันพร้อม Log และ Transaction
- ใช้ AI Assistant ช่วยอธิบายโค้ด และตรวจผลก่อนใช้จริง
- สรุป Checklist ก่อนนำโค้ดขึ้นระบบจริง