Stored Procedure และ Function เป็นโปรแกรมย่อยในฐานข้อมูลที่สร้างจากพื้นฐานความรู้การเขียนสคริปต์
หลักสูตรนี้ เรียนรู้การออกแบบ การสร้างคำสั่งเพื่อสร้าง Script สำหรับ Stored Procedure, Function, Trigger เพื่อพัฒนาระบบฐานข้อมูล Data Source พร้อมการควบคุม Transaction โดยเน้นการทำงานจริงและเรียนรู้ข้อจำกัดของแต่ละ Object พร้อมแนวคิดด้านประสิทธิภาพและความปลอดภัยสูงสุดในการทำงาน ในรูปแบบของกรณีศึกษา และ Workshop เข้มข้น
รหัสหลักสูตร : SQL-PG-SP
รายละเอียดของหลักสูตร
ระยะเวลาในการอบรม
ระยะเวลา : 2 วัน (12 ชั่วโมง) 9.00 - 16.00 น.
ค่าฝึกอบรม
ราคา 9,900 .- *ราคาดังกล่าวยังไม่รวมภาษีมูลค่าเพิ่ม
Virtual Training/Class Room
Virtual Training สอนสดผ่าน microsoft teams Microsoft Teams Class Room อบรมที่ 9Expert bts ราชเทวี สามารถตรวจสอบรูปแบบการอบรมได้ที่ตารางฝึกอบรม
รูปภาพประกอบหลักสูตร
ตารางฝึกอบรม Public
Live Hybrid Class Room
- 17 - 18 ตุลาคม 2567 เต็ม
อบรมภายในองค์กร/Private (In-House)
ขอใบเสนอราคาวัตถุประสงค์
- ผู้อบรมเข้าใจองค์ประกอบต่าง ๆ ในการสร้าง Script
- ผู้อบรมสามารถสร้าง Script และนำ Script ไปใช้สร้างเป็น Objects ชนิดต่าง ๆ ได้อย่างเหมาะสม
- ผู้อบรมสามารถประกาศ Transaction และเลือกใช้ Isolation Level ได้อย่างเหมาะสม
หลักสูตรนี้เหมาะสำหรับ
- ผู้ที่ Query ด้วย T-SQL แต่ต้องการทำงานร่วมกับ Transactions
- Developer ที่ต้องการพัฒนาและจัดการโค้ดที่ดีขึ้นอีกระดับ
- Developer ที่ต้องการเรียนรู้ Script เกี่ยวกับ Database Performance
พื้นฐานของผู้เข้าอบรม
- มีความเข้าใจเกี่ยวกับฐานข้อมูลเชิงสัมพันธ์ (Relational Database) และการออกแบบฐานข้อมูลมาบ้าง
- มีความสามารถในการ Query ข้อมูลเป็นอย่างดี
- มีประสบการณ์ในภาษาโปรแกรมมิ่ง ภาษาใด ภาษาหนึ่ง มาบ้าง
ความต้องการของระบบ
- OS : Windows 11 / 10
- CPU : Minimum 1.6 GHz or faster processor
- RAM : 8GB or more
- Remote Desktop Connection
- Internet
หัวข้อการฝึกอบรม
- สิ่งที่ควรทราบก่อนใช้งาน Microsoft SQL Server
- สถาปัตยกรรมพื้นฐานของ Microsoft SQL Server
- การใช้งาน SQL Server Management Studio เบื้องต้น
- การใช้งาน Visual Studio เบื้องต้น
- องค์ประกอบต่าง ๆ ของภาษา T-SQL
- ประเภทของ Operator
- System Functions แต่ละประเภท
- ตัวแปร
- นิพจน์
- Batch Control
- Flow Control
- Comment
- การสร้าง Script
- รู้จักกับ Batch และ Scope
- การสร้างและใช้งานตัวแปรภายใน scope
- การควบคุม Flow Control
- การใช้ IF…ELSE
- การใช้ WHILE
- การแจ้งข้อผิดพลาด
- แจ้งข้อผิดพลาดด้วยคำสั่ง RAISERROR
- แจ้งข้อผิดพลาดด้วยคำสั่ง THROW
- การใช้งาน System Function ที่เกี่ยวข้องเพื่อแจ้งข้อผิดพลาดที่สร้างขึ้นเอง
- การดักรับ Error ด้วย TRY/CATCH
- เขียนโปรแกรมโดยใช้ TRY/CATCH Block
- Function ต่าง ๆ ของ Error Handling
- ข้อผิดพลาดที่ดักได้และไม่ได้
- ข้อผิดพลาดของ Managed Code
- รู้จักกับ Batch และ Scope
- การประกาศ TRANSACTION
- รู้จักกับ Transaction
- ประเภทของ Transaction
- Implicit Transaction
- Explicit Transaction
- Automatic Transaction
- ข้อผิดพลาดกับ Transaction
- Transaction กับ Nesting Errors
- การประกาศ Transaction ใน TRY/CATCH
- การใช้ XACT_ABORT
- คำสั่ง BEGIN/COMMIT/ ROLLBACK TRANSACTION
- ภาวะใช้งานพร้อมกันบน SQL Server
- รู้จัก Concurrency Models
- ปัญหาภาวะการใช้งานพร้อมกัน (Concurrency Problems)
- รู้จัก Transaction Isolation Levels
- Pessimistic isolation levels
- Optimistic (row versioning) isolation levels
- การใช้งาน Row Versioning Isolation Levels
- ออกแบบและสร้าง Stored Procedures
- การออกแบบ Stored Procedure
- ประโยชน์ของ Stored Procedures
- การเรียกใช้ System Stored Procedures
- คำสั่งที่อยู่ใน Stored Procedures ไม่ได้
- การสร้าง Stored Procedure
- การกำหนด Parameter
- การดักรับ Error
- อื่น ๆ
- คำแนะนำในการสร้าง Stored Procedures
- เข้ารหัส Stored Procedures
- การสั่งรัน Stored Procedure
- ปัญหา Parameter Sniffing กับประสิทธิภาพ
- การควบคุม Security Context
- การออกแบบ Stored Procedure
- การออกแบบและสร้าง Function
- ภาพรวมของฟังก์ชัน
- ประเภทของฟังก์ชัน
- ฟังก์ชันของระบบ
- ออกแบบและสร้าง Scalar Functions
- ออกแบบและสร้าง Table-Valued Functions
- Inline Table-Valued Function
- Multi-Statement Table-Valued Function
- ข้อคำนึงในการสร้างฟังก์ชัน
- ผลกระทบต่อประสิทธิภาพจาก Scalar Functions
- ผลกระทบต่อประสิทธิภาพจาก Multi-Statement Table-Valued Functions
- ทางเลือกอื่น นอกเหนือจากฟังก์ชัน
- การควบคุม Security Context
- ภาพรวมของฟังก์ชัน
- ตอบสนองต่อการปรับปรุงข้อมูลด้วย Triggers
- รู้จักกับ 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
ตารางฝึกอบรม Public
Live Hybrid Class Room
- 17 - 18 ตุลาคม 2567 เต็ม