SQL Server Programming - Stored Procedure

SQL-PG-SP

SQL Server Programming - Stored Procedure

2 วัน (12 ชม.)/ ช่วงเวลา 9:00 - 16:00 น.
PublicInhouse
9,900บาท

*ราคาดังกล่าวยังไม่รวมภาษีมูลค่าเพิ่ม

Workshope-Certificate

ดาวน์โหลด Course Outline

รูปแบบการอบรม:ClassroomHybrid

ตารางอบรม Public Training

SQL Server Programming - Stored Procedure

Stored Procedure และ Function เป็นโปรแกรมย่อยในฐานข้อมูลที่สร้างจากพื้นฐานความรู้การเขียนสคริปต์ หลักสูตรนี้เรียนรู้การออกแบบการสร้างคำสั่ง เพื่อสร้าง Script สำหรับ Stored Procedure, Function, Trigger เพื่อพัฒนาระบบฐานข้อมูล Data Source พร้อมการควบคุม Transaction โดยเน้นการทำงานจริงและเรียนรู้ข้อจำกัดของแต่ละ Object พร้อมแนวคิดด้านประสิทธิภาพและความปลอดภัยสูงสุดในการทำงาน ในรูปแบบของกรณีศึกษา และ Workshop เข้มข้น

วัตถุประสงค์

  1. ผู้อบรมเข้าใจองค์ประกอบต่างๆ ในการสร้าง Script

  2. ผู้อบรมสามารถสร้าง Script และนำ Script ไปใช้สร้างเป็น Objects ชนิดต่างๆ ได้อย่างเหมาะสม

  3. ผู้อบรมสามารถประกาศ Transaction และเลือกใช้ Isolation Level ได้อย่างเหมาะสม

หลักสูตรนี้เหมาะสำหรับ

  1. ผู้ที่มีพื้นฐานการ Query ด้วย T-SQL แต่ต้องการทำงานร่วมกับ Transactions

  2. Developer ที่ต้องการพัฒนาและจัดการโค้ดที่ดีขึ้นอีกระดับ

  3. Developer ที่ต้องการเรียนรู้ Script เกี่ยวกับ Database Performance

พื้นฐานของผู้เข้าอบรม

  1. มีความเข้าใจเกี่ยวกับฐานข้อมูลเชิงสัมพันธ์ (Relational Database) และการออกแบบฐานข้อมูลมาบ้าง

  2. มีความสามารถในการ Query ข้อมูลเป็นอย่างดี

  3. มีประสบการณ์ในภาษาโปรแกรมมิ่ง ภาษาใด ภาษาหนึ่งมาบ้าง

ความต้องการของระบบ

  1. ระบบปฏิบัติการ Windows 11 / 10

  2. Remote Desktop Connection (RDP)

  3. Internet

หัวข้อการฝึกอบรม

  • สถาปัตยกรรมพื้นฐานของ Microsoft SQL Server
  • การใช้งาน SQL Server Management Studio เบื้องต้น
  • การใช้งาน Visual Studio เบื้องต้น
  • ประเภทของ Operator
  • System Functions แต่ละประเภท
  • ตัวแปร
  • นิพจน์
  • Batch Control
  • Flow Control
  • Comment
  • รู้จักกับ Batch และ Scope
    • การสร้างและใช้งานตัวแปรภายใน scope
  • การควบคุม Flow Control
    • การใช้ IF…ELSE
    • การใช้ WHILE
  • การแจ้งข้อผิดพลาด
    • แจ้งข้อผิดพลาดด้วยคำสั่ง RAISERROR
    • แจ้งข้อผิดพลาดด้วยคำสั่ง THROW
  • การใช้งาน System Function ที่เกี่ยวข้อง เพื่อแจ้งข้อผิดพลาดที่สร้างขึ้นเอง
  • การดักรับ Error ด้วย TRY/CATCH
    • เขียนโปรแกรมโดยใช้ TRY/CATCH Block
    • Function ต่างๆ ของ Error Handling
    • ข้อผิดพลาดที่ดักได้และไม่ได้
    • ข้อผิดพลาดของ Managed Code
  • รู้จักกับ Transaction
  • ประเภทของ Transaction
    • Implicit Transaction
    • Explicit Transaction
    • Automatic Transaction
  • ข้อผิดพลาดกับ Transaction
  • Transaction กับ Nesting Errors
  • การประกาศ Transaction ใน TRY/CATCH
  • การใช้ XACT_ABORT
  • คำสั่ง BEGIN/COMMIT/ ROLLBACK TRANSACTION
  • รู้จัก Concurrency Models
  • ปัญหาภาวะการใช้งานพร้อมกัน (Concurrency Problems)
  • รู้จัก Transaction Isolation Levels
    • Pessimistic isolation levels
    • Optimistic (row versioning) isolation levels
  • การใช้งาน Row Versioning Isolation Levels
  • การออกแบบ Stored Procedure
    • ประโยชน์ของ Stored Procedures
    • การเรียกใช้ System Stored Procedures
    • คำสั่งที่อยู่ใน Stored Procedures ไม่ได้
  • การสร้าง Stored Procedure
    • การกำหนด Parameter
    • การดักรับ Error
    • อื่นๆ
  • คำแนะนำในการสร้าง Stored Procedures
  • เข้ารหัส Stored Procedures
  • การสั่งรัน Stored Procedure
  • ปัญหา Parameter Sniffing กับประสิทธิภาพ
  • การควบคุม Security Context
  • ภาพรวมของฟังก์ชัน
    • ประเภทของฟังก์ชัน
    • ฟังก์ชันของระบบ
  • ออกแบบและสร้าง Scalar Functions
  • ออกแบบและสร้าง Table-Valued Functions
    • Inline Table-Valued Function
    • Multi-Statement Table-Valued Function
  • ข้อคำนึงในการสร้างฟังก์ชัน
    • ผลกระทบต่อประสิทธิภาพจาก Scalar Functions
    • ผลกระทบต่อประสิทธิภาพจาก Multi-Statement Table-Value Functions
  • ทางเลือกอื่น นอกเหนือจากฟังก์ชัน
  • การควบคุม Security Context
  • รู้จักกับ DML Triggers
  • ข้อคำนึงสำหรับการเลือกใช้ Triggers และทางเลือกอื่น
  • การสร้าง DML Triggers
    • ตาราง (เสมือน) Inserted และ Deleted
    • การตั้ง SET NOCOUNT ON
    • การสร้าง AFTER INSERT Triggers
    • การสร้าง AFTER DELETE Triggers
    • การสร้าง AFTER UPDATE Triggers
    • การใช้ฟังก์ชัน UPDATE
  • รู้จัก Instead of Trigger
    • เทียบระหว่าง AFTER Triggers กับ INSTEAD OF Triggers
    • การสร้าง INSTEAD OF Triggers
  • ข้อคำนึงด้านประสิทธิภาพ
    • การเกิด Nested Triggers
    • การเกิด Recursive Triggers
    • การควบคุมลำดับการเกิด Triggers

Road Map

คำถามที่พบบ่อย

Stored Procedure ช่วยรวบรวมชุดคำสั่ง SQL ไว้ภายในฐานข้อมูล ทำให้สามารถนำกลับมาใช้งานซ้ำได้ ลดความซ้ำซ้อนของโค้ด เพิ่มความปลอดภัย และควบคุมการเข้าถึงข้อมูลได้ดียิ่งขึ้น อีกทั้งยังช่วยให้การบำรุงรักษาระบบและการปรับปรุงประสิทธิภาพทำได้ง่ายขึ้น เหมาะสำหรับระบบงานที่ต้องรองรับผู้ใช้งานจำนวนมาก

หลักสูตรครอบคลุมการจัดการ Transaction ด้วยคำสั่ง BEGIN TRANSACTION, COMMIT และ ROLLBACK รวมถึงการเลือกใช้ Transaction Isolation Level ที่เหมาะสม เพื่อป้องกันปัญหาการใช้งานข้อมูลพร้อมกัน (Concurrency) เช่น Dirty Read, Non-repeatable Read และ Phantom Read ช่วยให้ระบบฐานข้อมูลมีความถูกต้องและเชื่อถือได้มากขึ้น

หลักสูตรอธิบายข้อแตกต่างระหว่าง Stored Procedure, Scalar Function และ Table-Valued Function พร้อมแนวทางเลือกใช้งานให้เหมาะกับแต่ละสถานการณ์ เช่น การประมวลผลข้อมูล การคืนค่าผลลัพธ์ หรือการสร้างชุดข้อมูลสำหรับรายงาน โดยคำนึงถึงทั้งประสิทธิภาพและความสามารถในการดูแลรักษาระบบในระยะยาว

ผู้เรียนจะได้เรียนรู้การสร้าง DML Trigger เพื่อให้ระบบตอบสนองต่อเหตุการณ์ เช่น การเพิ่ม แก้ไข หรือการลบข้อมูล พร้อมทำความเข้าใจความแตกต่างระหว่าง AFTER Trigger และ INSTEAD OF Trigger รวมถึงแนวทางลดผลกระทบด้านประสิทธิภาพ เพื่อให้สามารถเลือกใช้งาน Trigger ได้อย่างเหมาะสมกับระบบฐานข้อมูลขององค์กร

ผู้เรียนจะได้ฝึกออกแบบและพัฒนา Stored Procedure, Function และ Trigger ผ่าน Workshop จากกรณีศึกษาจริง พร้อมเรียนรู้การจัดการ Error Handling, Transaction Control, Security Context และ Performance Optimization เพื่อให้สามารถพัฒนาระบบฐานข้อมูลที่มีประสิทธิภาพ ปลอดภัย และพร้อมใช้งานในระดับองค์กรได้อย่างมั่นใจ

สนใจหลักสูตร

SQL Server Programming - Stored Procedure

กดลงทะเบียนเพื่อกลับไปเลือกรอบอบรมที่เปิดรับสมัคร