การเขียน SQL เพื่อเลื่อนลำดับขึ้นลงอัตโนมัติ

การเขียน SQL เพื่อเลื่อนลำดับขึ้นลงอัตโนมัติของ column ที่ระบุลำดับเป็นตัวเลข

รูปที่ 1 ตัวอย่างรูปแบบตาราง

จากรูปที่ 1 สนใจข้อมูลในตารางเพื่อจะให้ update Column ชื่อ LECTURER_ORDER ซึ่งเก็บชนิดตัวแปรเป็น NUMBER

รูปที่ 2 เราต้องเก็บค่าข้อมูล order ที่มีค่าสูงสุด

จากรูปที่ 2 เราต้องเก็บค่าข้อมูล order ที่มีค่าสูงสุดไว้ในตัวแปรชื่อ var_maxorder ซึ่งจากตัวอย่างรูปที่ 1 คือ รายการที่ 7 ซึ่งมีค่า LECTURER_ORDER เป็น 7

รูปที่ 3 แบบเลื่อนลำดับขึ้น

จากรูปที่ 3 แบบเลื่อนลำดับขึ้น เช่น เลื่อนลำดับรายการที่ 6 สลับกับรายการที่ 5 แสดงว่าค่า LECTURER_ORDER ต้องลดลง โดยการ Set ค่าใหม่โดยที่ค่าเก่า -1 ตามรูปที่ 3 ที่ตำแหน่งสีเหลือง LECTURER_ORDER = r.LECTURER_ORDER – 1

รูปที่ 4 แบบเลื่อนลำดับลง

จากรูปที่ 4 แบบเลื่อนลำดับลง เช่น เลื่อนลำดับรายการที่ 6 สลับกับรายการที่ 7 แสดงว่าค่า LECTURER_ORDER ต้องเพิ่มขึ้น โดยการ Set ค่าใหม่โดยที่ค่าเก่า +1 ตามรูปที่ 4 ที่ตำแหน่งสีเหลือง LECTURER_ORDER = r.LECTURER_ORDER + 1

รูปที่ 5 หน้าจอเมื่อนำมาใช้งานจริงแบบเลื่อนลำดับขึ้นลงได้

จากรูปที่ 5 หน้าจอเมื่อนำมาใช้งานจริงแบบเลื่อนลำดับขึ้นลงได้ สามารถเลื่อน ลำดับขึ้นลงแบบ real time ได้เลย