MySQL การสร้าง Temporary Table ใน Stored Procedure
Temporary Table หรือ "ตารางชั่วคราว" คือ ตารางที่ถูกสร้างขึ้นเฉพาะใน session ปัจจุบัน และจะถูกลบอัตโนมัติเมื่อจบการเชื่อมต่อ (session)
Temporary Table หรือ "ตารางชั่วคราว" คือ ตารางที่ถูกสร้างขึ้นเฉพาะใน session ปัจจุบัน และจะถูกลบอัตโนมัติเมื่อจบการเชื่อมต่อ (session)
Stored Procedure จะสมบูรณ์แบบก็ต่อเมื่อสามารถนำไปใช้งานกับระบบภายนอกได้ เช่น เว็บไซต์, REST API, หรือแอปบนมือถือ
การเขียน Stored Procedure ไม่แค่เพื่อให้ทำงานได้เท่านั้น แต่ต้องคิดเผื่อถึงการบำรุงรักษา การแก้ไขภายหลัง และความเข้าใจของทีมพัฒนาคนอื่นด้วย
Stored Procedure มีความสามารถในการจัดการกับข้อมูลในหลายตารางได้ในเวลาเดียวกันนั่นหมายความว่าถ้าใช้งานไม่ระวัง ก็อาจทำให้เกิดปัญหาด้านความปลอดภัย
Cursor คือเครื่องมือใน MySQL สำหรับ "เลื่อนอ่าน" ข้อมูลจากผลลัพธ์ของ SELECT ทีละแถว ทำงานคล้ายกับการวนลูป array ในภาษาโปรแกรม เช่น foreach, for, while
ในโลกของระบบฐานข้อมูลจริง ๆ Stored Procedure มักถูกใช้ในกรณีต่าง ๆ ดังต่อไปนี้ ในบทความนี้ผมจะยกตัวอย่างสถานการณ์จริงให้เห็นว่า Stored Procedure ช่วยให้งานเหล่านี้เป็นระบบและง่ายขึ้นได้อย่างไร มาดูกันครับ ตัวอย่างการใช้งาน ตัวอย่างที่ 1…
Stored Procedure ใน MySQL อาจเจอปัญหาเหมือนกับโปรแกรมทั่วไป เช่น ข้อมูลผิดพลาด, หารด้วยศูนย์, หาข้อมูลไม่เจอ หรือการ insert/update ที่ล้มเหลว
Stored Procedure ไม่ใช่แค่การรันคำสั่ง SQL แบบธรรมดาเท่านั้น แต่สามารถรองรับ “ตรรกะ” (Logic) ที่ซับซ้อนได้ไม่ต่างจากการเขียนโปรแกรม บทความนี้เราจะทำความรู้จักกับการใช้ ตัวแปรภายใน, คำสั่งควบคุมเงื่อนไข (IF, CASE) และการวนลูป…
ในบทความนี้เราจะมาเรียนรู้วิธีใช้งาน พารามิเตอร์ ใน Stored Procedure เพื่อให้สามารถ ส่งค่าเข้า และ ส่งค่ากลับออกมา ได้อย่างมีประสิทธิภาพ พารามิเตอร์ใน Stored Procedure คืออะไร? พารามิเตอร์คือค่าที่เราส่งเข้าไปให้…
หลังจากที่เราได้รู้จักกับ Stored Procedure และประโยชน์ของมันไปแล้วในบทความ Stored Procedure คืออะไร และมีประโยชน์อย่างไร บทความนี้เราจะลงมือสร้าง Stored Procedure แรกแบบเข้าใจง่ายกันครับ คำสั่งสำคัญที่ต้องรู้ ก่อนที่จะสามารถสร้าง Stored…
ในการพัฒนาระบบฐานข้อมูลด้วย MySQL เรามักจะเขียนคำสั่ง SQL ซ้ำ ๆ เช่น การดึงรายงานยอดขาย, การอัปเดตสถานะคำสั่งซื้อ หรือการจัดการข้อมูลหลายตารางพร้อมกัน สิ่งเหล่านี้หากเขียนซ้ำทุกครั้งที่ต้องใช้งาน ก็จะทำให้โค้ดรก ดูแลยาก และเกิดข้อผิดพลาดได้ง่าย ทางออกของปัญหานี้ก็คือการใช้…
ฟังก์ชัน VERSION() ใน MySQL ใช้เพื่อแสดงหมายเลขเวอร์ชันของ MySQL Server ที่กำลังใช้งานอยู่ในขณะนั้น
ฟังก์ชัน USER() ใน MySQL ใช้เพื่อแสดงชื่อผู้ใช้ (username) และโฮสต์ (host) ที่เชื่อมต่อกับเซิร์ฟเวอร์ MySQL ใน session ปัจจุบัน
ฟังก์ชัน SYSTEM_USER() ใน MySQL ใช้เพื่อคืนค่าชื่อผู้ใช้และโฮสต์ที่เชื่อมต่อกับฐานข้อมูล (user@host) เช่นเดียวกับ USER() และ SESSION_USER()
ฟังก์ชัน SESSION_USER() ใน MySQL ใช้เพื่อคืนค่าชื่อผู้ใช้ (username) และโฮสต์ (host) ของผู้ใช้ที่ เชื่อมต่อเข้ามาในระบบฐานข้อมูล
ฟังก์ชัน NULLIF() ใน MySQL ใช้เพื่อตรวจสอบว่า ค่าทั้งสองค่าที่ระบุมีค่าเท่ากันหรือไม่ หากทั้งสองค่าเท่ากันจะคืนค่า NULL
ฟังก์ชัน LAST_INSERT_ID() ใน MySQL ใช้เพื่อดึงหมายเลข ID ล่าสุดที่ถูกสร้างโดยการเพิ่มข้อมูล (INSERT) ที่มีฟิลด์แบบ AUTO_INCREMENT
ฟังก์ชัน ISNULL() ใน MySQL ใช้เพื่อตรวจสอบว่าค่าที่กำหนดเป็น NULL หรือไม่หากค่าที่ตรวจสอบเป็น NULL จะคืนค่า 1 (จริง) แต่ถ้าไม่ใช่ NULL จะคืนค่า 0…
ฟังก์ชัน IFNULL() ใน MySQL ใช้เพื่อตรวจสอบค่าที่อาจเป็น NULL และแทนที่ค่าดังกล่าวด้วยค่าที่กำหนดไว้ หากค่าที่ตรวจสอบไม่ใช่ NULL จะคืนค่าต้นฉบับ จุดประสงค์หลักคือการหลีกเลี่ยงการแสดงผลหรือประมวลผลค่าที่ว่างเปล่า (NULL) เช่น ใช้แทนค่าแสดงผลเริ่มต้น หรือคำนวณข้อมูลอย่างถูกต้องแม้มีค่าว่าง…
ฟังก์ชัน IF() ใน MySQL ใช้สำหรับประเมินเงื่อนไข (condition) และคืนค่าตามผลของเงื่อนไขนั้น ทำหน้าที่เหมือน IF-THEN-ELSE ในภาษาโปรแกรมทั่วไป
ฟังก์ชัน DATABASE() ใน MySQL ใช้เพื่อคืนชื่อของฐานข้อมูล (database) ที่กำลังถูกใช้งานอยู่ใน session ปัจจุบัน หรือกล่าวง่าย ๆ ก็คือ DATABASE() จะบอกว่า query…
ฟังก์ชัน CURRENT_USER() ใน MySQL ใช้เพื่อคืนค่าชื่อผู้ใช้และโฮสต์ที่ระบบใช้ในการตรวจสอบสิทธิ์ (authentication) ของ session ปัจจุบัน
ฟังก์ชัน CONVERT() ใน MySQL ใช้เพื่อแปลงค่าหรือชนิดข้อมูล (data type) และ character set ของข้อมูล ตามที่ระบุไว้ โดย CONVERT() มี…
ฟังก์ชัน CONV() ใน MySQL ใช้เพื่อแปลงค่าจากเลขฐานหนึ่งไปเป็นเลขฐานอื่น โดยสามารถแปลงค่าจากเลขฐานใดก็ได้ระหว่าง ฐาน 2 ถึง ฐาน 36 ผลลัพธ์ที่ได้จะเป็น ข้อความ (string) ซึ่งมีประโยชน์ในการเปลี่ยนค่าตัวเลขที่อยู่ในรูปแบบฐานต่าง…