ສອບຖາມຫຼັກສູດເລືອກຊ່ອງທາງທີ່ສະດວກ ທີມງານຕອບເອງທຸກຊ່ອງທາງ
LINE @itgeniusຕອບໄວທີ່ສຸດ · ຈ–ສ 9:00–17:00 ໂມງ
ໂທລະສັບ
02-570-8449ຫ້ອງການ088-807-9770ມືຖື
ອີເມວ ແລະ ໂຊຊຽວ
contact@itgenius.co.thສຳລັບໃບສະເໜີລາຄາ ແລະ ເອກະສານFacebookitgeniusonlineYouTubeitgeniusengຂໍຄຳປຶກສາຈັດຝຶກອົບຮົມໃຫ້ທີມ
ຖານຂໍ້ມູນ · DBC-57

SQL Server Stored Procedures and T-SQL Programming

หลักสูตร SQL Server Stored Procedures and T-SQL Programming เป็นการอบรมการเขียนโปรแกรม T-SQL บน SQL Server 2025 ทั้ง Stored Procedure, Function, Trigger, Error Handling, Transaction และ Dynamic SQL ที่ปลอดภัย เหมาะกับนักพัฒนาและ DBA ที่เขียน Query ได้แล้วและต้องการเขียน Logic ในฐานข้อมูลอย่างถูกต้อง

ອັບເດດລ່າສຸດ
ລາຄາເລີ່ມຕົ້ນ 6,210 ບາດ / ທ່ານ 6,900 −10% ຍັງບໍ່ລວມ VAT 7% · ມີລາຄາໝູ່ຄະນະ
PDFດາວໂຫຼດ Course Outline
  • ໄລຍະເວລາ12 ຊົ່ວໂມງ · 2 ມື້
  • ຮູບແບບຢູ່ສະຖາບັນ / ອອນລາຍສົດ
  • ຮອບຕໍ່ໄປເປີດຕາມຄຳຂໍ
  • ໃບຢັ້ງຢືນມີໃບຢັ້ງຢືນ

ພາບລວມຫຼັກສູດ

ระบบงานจำนวนมากเก็บ Logic สำคัญไว้ใน SQL Server ทั้งการบันทึกคำสั่งซื้อ ตัดสต็อก คำนวณค่าคอมมิชชัน และรายงานที่แอปเรียกใช้ทุกวัน แต่ Stored Procedure ที่เขียนโดยไม่มีมาตรฐานมักไม่จัดการ Error ปล่อยให้ข้อมูลค้างครึ่งทางเมื่อเกิดปัญหา เปิดช่อง SQL Injection ผ่าน Dynamic SQL หรือวนทีละแถวด้วย Cursor จนช้า และบางครั้งเร็วในวันหนึ่งแต่ช้าผิดปกติในอีกวันโดยไม่มีใครรู้สาเหตุ

หลักสูตรนี้พาผู้เรียนเขียนโปรแกรมด้วย T-SQL บน SQL Server 2025 อย่างเป็นระบบ เริ่มจากตัวแปรและ Control Flow สร้าง Stored Procedure ที่มี Input, Output และ Table-Valued Parameter เขียน Scalar และ Inline Table-Valued Function เลือกใช้ Temp Table หรือ Table Variable เปลี่ยนงานแบบ Cursor ให้เป็น Set-based และใช้ Trigger อย่างระมัดระวัง จากนั้นเจาะเรื่องความถูกต้องด้วย TRY...CATCH, THROW, Transaction และ Isolation Level เขียน Dynamic SQL อย่างปลอดภัย กำหนดสิทธิ์ด้วย EXECUTE AS และเข้าใจ Execution Plan กับปัญหา Parameter Sniffing แล้วปิดท้ายด้วย Workshop สร้างชั้น Data Access ของระบบสั่งซื้อด้วย Stored Procedure (อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง ระดับ Intermediate)

ສິ່ງທີ່ທ່ານຈະໄດ້ຮັບ

  • เขียนสคริปต์ T-SQL ด้วยตัวแปร เงื่อนไข และการวนซ้ำได้อย่างถูกต้อง
  • สร้าง Stored Procedure ที่มี Input, Output และ Table-Valued Parameter
  • เลือกและเขียน Scalar Function และ Table-Valued Function ให้เหมาะกับงาน
  • เปลี่ยนงานแบบ Cursor เป็น Set-based และเลือก Temp Table หรือ Table Variable ได้
  • จัดการ Error ด้วย TRY...CATCH และ THROW ร่วมกับ Transaction
  • เข้าใจ Isolation Level, Blocking และ Deadlock ในงานที่มีผู้ใช้พร้อมกัน
  • เขียน Dynamic SQL ที่ปลอดภัยจาก SQL Injection และกำหนดสิทธิ์ของ Procedure ได้
  • อ่าน Execution Plan และรับมือกับปัญหา Parameter Sniffing ได้

ຫຼັກສູດນີ້ເໝາະສຳລັບ

  • นักพัฒนาแอปที่ต้องเขียน Stored Procedure หรือดูแลโค้ดฐานข้อมูลเดิม
  • ผู้ที่ผ่านหลักสูตร SQL Server Database Queries แล้วและต้องการเขียนโปรแกรมในฐานข้อมูล
  • DBA ที่ต้องรีวิวและปรับปรุงโค้ด T-SQL ของทีมพัฒนา
  • นักวิเคราะห์และ Data Engineer ที่ทำงานประมวลผลข้อมูลใน SQL Server
  • ผู้ดูแลระบบงานที่มี Logic สำคัญอยู่ใน SQL Server

ພື້ນຖານຂອງຜູ້ເຂົ້າຝຶກອົບຮົມ

  • เขียน Query T-SQL ได้คล่อง เช่น SELECT, JOIN, GROUP BY, Subquery และ CTE
  • เขียน INSERT, UPDATE และ DELETE และเข้าใจ Primary Key กับ Foreign Key
  • ใช้ SQL Server Management Studio หรือเครื่องมือเทียบเท่าได้
  • โน้ตบุ๊กที่ติดตั้ง SQL Server 2025 Developer Edition ได้ พร้อมสิทธิ์ Administrator

ຫົວຂໍ້ການຝຶກອົບຮົມ

รายละเอียดหลักสูตร

หลักสูตรนี้ต่อยอดจาก Microsoft SQL Server 2025 Database Queries โดยลงลึกที่การเขียนโปรแกรมในฐานข้อมูล อบรม 2 วัน วันละ 6 ชั่วโมง รวม 12 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนฐานข้อมูลระบบสั่งซื้อและสต็อกจำลองชุดเดียวตลอดหลักสูตร ระดับ Intermediate ทุก Lab ใช้ SQL Server 2025 Developer Edition ซึ่งใช้ฟรีบนเครื่องของผู้เรียน หลักการส่วนใหญ่ใช้ได้กับ SQL Server 2019 และ 2022 ด้วย หลักสูตรเน้นการเขียนโค้ดฝั่งฐานข้อมูลให้ถูกต้อง ปลอดภัย และเร็ว ไม่ครอบคลุมการดูแลเซิร์ฟเวอร์ การ Backup และการปรับจูน Index เชิงลึก ซึ่งอยู่ในหลักสูตร DBA Microsoft SQL Server 2025 และ SQL Server Performance Tuning and Optimization

Day 1 เขียนโปรแกรมด้วย T-SQL และ Stored Procedure

Section 1: Lab: พื้นฐานการเขียนโปรแกรมด้วย T-SQL

  • เตรียม SQL Server 2025 Developer Edition, SSMS และฐานข้อมูลตัวอย่าง
  • Batch, GO, ตัวแปร และขอบเขตของตัวแปร
  • IF ... ELSE, WHILE, BEGIN ... END และ CASE
  • ฟังก์ชันที่มาใหม่ใน SQL Server 2025 เช่น ตัวต่อข้อความ ||, CURRENT_DATE และ REGEXP_LIKE
  • Lab: สคริปต์ตรวจและแก้ข้อมูลลูกค้าด้วยตัวแปรและเงื่อนไข

Section 2: Lab: Stored Procedure และ Parameter

  • CREATE OR ALTER PROCEDURE และมาตรฐานการตั้งชื่อ
  • Input Parameter, ค่า Default และ OUTPUT Parameter
  • Return Code เทียบ Result Set และ SET NOCOUNT ON
  • Table-Valued Parameter และการรับข้อมูล JSON ด้วย OPENJSON
  • Lab: Procedure บันทึกหัวและรายการคำสั่งซื้อในครั้งเดียวพร้อมคืนเลขที่เอกสาร

Section 3: Lab: User-defined Function

  • Scalar Function และผลต่อประสิทธิภาพ รวมถึง Scalar UDF Inlining
  • Inline Table-Valued Function เทียบ Multi-statement Table-Valued Function
  • ใช้ Function ร่วมกับ CROSS APPLY และ OUTER APPLY
  • เลือกระหว่าง Function, View และ Stored Procedure
  • Lab: Function คำนวณราคาสุทธิ และ Function รายงานยอดขายตามช่วงวันที่

Section 4: Lab: Temp Table, Table Variable และ Set-based

  • Temp Table เทียบ Table Variable: ขอบเขต สถิติ และผลต่อแผนการทำงาน
  • Cursor ทำงานอย่างไร และทำไมมักช้ากว่าแบบ Set-based
  • เขียนแทน Cursor ด้วย JOIN, Window Function และ MERGE
  • กรณีที่การวนทีละแถวยังจำเป็น และวิธีทำให้ปลอดภัย
  • Lab: แปลงการคำนวณค่าคอมมิชชันจาก Cursor เป็น Set-based แล้ววัดเวลา

Section 5: Lab: Trigger

  • AFTER Trigger และ INSTEAD OF Trigger
  • ตาราง inserted และ deleted และการเขียนให้รองรับหลายแถว
  • บันทึก Audit Log การเปลี่ยนแปลงข้อมูลด้วย Trigger
  • ข้อเสียของ Trigger ที่ซ่อน Logic และทางเลือกอย่าง Temporal Table
  • Lab: Trigger บันทึกประวัติการแก้ราคาสินค้า
Day 2 ความถูกต้อง ความปลอดภัย และประสิทธิภาพ

Section 6: Lab: จัดการ Error ด้วย TRY...CATCH

  • TRY...CATCH และฟังก์ชัน ERROR_NUMBER, ERROR_MESSAGE และ ERROR_LINE
  • THROW เทียบ RAISERROR และการกำหนดข้อความ Error ของระบบเอง
  • ตาราง Error Log กลางที่ทุก Procedure ใช้ร่วมกัน
  • XACT_STATE และการจัดการ Transaction ที่ล้มเหลวใน CATCH
  • Lab: เพิ่มการจัดการ Error ให้ Procedure บันทึกคำสั่งซื้อ

Section 7: Lab: Transaction และ Isolation Level

  • BEGIN TRAN, COMMIT, ROLLBACK และ SET XACT_ABORT ON
  • Nested Transaction และ Savepoint ทำงานอย่างไรจริง
  • Isolation Level: Read Committed, Read Committed Snapshot, Snapshot และ Serializable
  • Blocking, Deadlock และภาพรวม Optimized Locking ใน SQL Server 2025
  • Lab: ตัดสต็อกพร้อมกันหลายผู้ใช้โดยไม่ขายเกินจำนวนที่มี

Section 8: Lab: Dynamic SQL และสิทธิ์ของ Procedure

  • SQL Injection เกิดขึ้นใน Procedure ได้อย่างไร
  • sp_executesql พร้อม Parameter และ QUOTENAME สำหรับชื่อ Object
  • Catch-all Query: เลือกระหว่าง OPTION (RECOMPILE) กับ Dynamic SQL
  • ให้สิทธิ์ EXECUTE แทนสิทธิ์บนตาราง, Ownership Chaining และ EXECUTE AS
  • ไม่บันทึกข้อมูลส่วนบุคคลลง Log เกินจำเป็น ตามหลัก PDPA
  • Lab: Procedure ค้นหาสินค้าหลายเงื่อนไขที่ปลอดภัย และผู้ใช้แอปแตะตารางโดยตรงไม่ได้

Section 9: Lab: Execution Plan และ Parameter Sniffing

  • Plan Cache และการนำแผนของ Stored Procedure กลับมาใช้ซ้ำ
  • อ่าน Execution Plan และ SET STATISTICS IO, TIME เพื่อหาจุดที่ช้า
  • Parameter Sniffing คืออะไร และอาการที่พบในระบบจริง
  • ภาพรวม Parameter Sensitive Plan Optimization และ Optional Parameter Plan Optimization ใน SQL Server 2025
  • ใช้ Query Store ดูประวัติประสิทธิภาพและบังคับแผนที่ดี
  • Lab: จำลองปัญหา Parameter Sniffing แล้วเทียบวิธีแก้

Section 10: Workshop: ชั้น Data Access ด้วย Stored Procedure

  • โจทย์: ระบบสั่งซื้อและสต็อกขนาดเล็ก
  • ออกแบบชุด Procedure, Function และ Trigger ตามมาตรฐานเดียวกัน
  • ใส่ Error Handling, Transaction และสิทธิ์ให้ครบ
  • ทดสอบด้วยสคริปต์ และใช้ AI Assistant ช่วยรีวิวโค้ดโดยตรวจผลเอง
  • นำเสนอและรีวิวโค้ดร่วมกัน

ຮອບຝຶກອົບຮົມ ແລະ ຮູບແບບການຝຶກອົບຮົມ

ສຳລັບບຸກຄົນ — ຮອບຝຶກອົບຮົມທົ່ວໄປ

ຂະນະນີ້ຍັງບໍ່ມີຮອບຝຶກອົບຮົມເປີດຮັບສະໝັກ ລົງຊື່ຈອງໄວ້ໄດ້ເລີຍ ທີມງານຈະຕິດຕໍ່ກັບເປັນກຸ່ມທຳອິດເມື່ອເປີດຮອບຕໍ່ໄປ ຫຼື ສອບຖາມທາງ LINE ຫຼື ໂທ 02-570-8449 ຫຼື 088-807-9770

ສຳລັບອົງກອນ — In-house / Private Training

  • ປັບເນື້ອໃນໃຫ້ກົງກັບເຄື່ອງມື ແລະ ວຽກຈິງຂອງທີມ
  • ເລືອກວັນເອງ ຝຶກອົບຮົມທີ່ບໍລິສັດ ຫຼື ອອນລາຍສົດ
  • ອອກໃບສະເໜີລາຄາໃນນາມນິຕິບຸກຄົນໃຫ້ຝ່າຍຈັດຊື້
ຂໍໃບສະເໜີລາຄາຝຶກອົບຮົມອົງກອນ

ວິທະຍາກອນຜູ້ສອນ

ຄຳຖາມທີ່ພົບເລື້ອຍ

หลักสูตรนี้ต่างจาก Microsoft SQL Server 2025 Database Queries อย่างไร

หลักสูตรนี้ต่อยอดจาก Microsoft SQL Server 2025 Database Queries ซึ่งเน้นการเขียน Query ตั้งแต่ SELECT จนถึง Window Function และ JSON และแตะการเขียนโปรแกรมกับ Transaction เพียงพื้นฐาน ส่วนหลักสูตรนี้ลงลึกที่การเขียนโค้ดในฐานข้อมูล ทั้ง Stored Procedure, Function, Trigger, Error Handling, Transaction และ Isolation Level, Dynamic SQL ที่ปลอดภัย สิทธิ์ของ Procedure และ Parameter Sniffing

ต้องใช้ SQL Server 2025 เท่านั้นหรือไม่

Lab ใช้ SQL Server 2025 Developer Edition ซึ่งใช้ฟรีเพื่อพัฒนาและทดสอบ แต่หลักการส่วนใหญ่ใช้ได้กับ SQL Server 2019 และ 2022 ด้วย ผู้สอนจะชี้ให้เห็นว่าฟีเจอร์ใดเป็นของ SQL Server 2025 เช่น ฟังก์ชัน Regular Expression, Optimized Locking และ Optional Parameter Plan Optimization

ใช้ MacBook เรียนได้หรือไม่

ได้ โดยรัน SQL Server 2025 บน Docker และใช้ VS Code พร้อม Extension MSSQL แทน SSMS ซึ่งทำ Lab ได้เกือบทั้งหมด แต่บางหัวข้อ เช่น การดู Execution Plan แบบกราฟิกเต็มรูปแบบ จะสะดวกกว่าบน SSMS ใน Windows ควรทดสอบการติดตั้งให้เรียบร้อยก่อนวันอบรม

ควรย้าย Logic ทั้งหมดไปไว้ใน Stored Procedure หรือไม่

ไม่จำเป็น หลักสูตรสอนเกณฑ์ตัดสินใจว่า Logic แบบใดเหมาะกับฐานข้อมูล เช่น งานที่ต้องการความถูกต้องของข้อมูลและประมวลผลข้อมูลจำนวนมาก และแบบใดควรอยู่ในแอป เพื่อให้ทีมเลือกได้อย่างเหมาะสมกับระบบของตนเอง

นำโค้ดหรือฐานข้อมูลขององค์กรมาใช้ในคลาสได้หรือไม่

นำตัวอย่างโค้ดมาปรึกษาในช่วง Workshop และถามตอบได้ แต่ควรตัดข้อมูลลับและข้อมูลส่วนบุคคลออก และไม่นำฐานข้อมูลจริงมาใช้ Lab หลักทั้งหมดใช้ฐานข้อมูลจำลองที่สร้างใหม่ได้ด้วยสคริปต์

เรียนจบแล้วควรต่อยอดหลักสูตรใด

หากต้องการเจาะการปรับจูนประสิทธิภาพทั้ง Index และเซิร์ฟเวอร์ เรียนต่อที่ SQL Server Performance Tuning and Optimization หากต้องการดูแลเซิร์ฟเวอร์ Backup และความพร้อมใช้งาน เรียนต่อที่ DBA Microsoft SQL Server 2025

ບົດຄວາມທີ່ກ່ຽວຂ້ອງ

ບົດຄວາມເຜີຍແຜ່ເປັນພາສາໄທ.