คือ ผมพยายามจะใช้ trigger มาคำนวณใน sql server 2008 ไม่แน่ใจว่าจะเขียนอย่างไรขอคำแนะนำด้วยนะครับ
โดยผมมี table ดังนี้
1. table: Assessment; pid, diagram_master_id, puo, luo,re
2. table: Projects; id, name, diagram, re_avg, risk_id
3. table: risk_level; risk_id, re_start,re_end, name, qty
วิธีการ
1. เมื่อมีการ update หรือ insert ที่ Assessment อยากให้ puo คูณ luo แล้วไป update ที่ re
2. หลังจากนั้นเอา re ใน ตาราง Assessment ที่มี diagram_master_id เหมือนกันมา sum กัน แล้วหารด้วยจำนวน row
(ของ diagram_master_id เหมือนกัน)
3. เมื่อได้ค่าตัวเลขออกมาแล้ว ให้ไป update ที่ตาราง Projects ใน re_avg
4. นำค่าของ re_avg มาหาว่าอยู่ในช่วงของ re_start AND re_end ใน ตาราง risk_level
5. แล้วนำ risk_id ที่เปรียบเทียบได้จากข้อ 4. มา Update ลงใน risk_id ของตาราง Projects
6. หลังจากนั้นมา count(risk_id) ของตาราง Projects ว่ามีจำนวนกี่แถว
7. เมื่อได้จำนวนแถว แล้วให้ไป update ลงที่ qty ตาม risk_id ที่เหมือนกัน
8. เสร็จ
ขอบคุณครับ
เขียน trigger ใน sql server เพื่อคำนวณ และ เปรียบเทียบแบบนี้ได้ไหมครับ
โดยผมมี table ดังนี้
1. table: Assessment; pid, diagram_master_id, puo, luo,re
2. table: Projects; id, name, diagram, re_avg, risk_id
3. table: risk_level; risk_id, re_start,re_end, name, qty
วิธีการ
1. เมื่อมีการ update หรือ insert ที่ Assessment อยากให้ puo คูณ luo แล้วไป update ที่ re
2. หลังจากนั้นเอา re ใน ตาราง Assessment ที่มี diagram_master_id เหมือนกันมา sum กัน แล้วหารด้วยจำนวน row
(ของ diagram_master_id เหมือนกัน)
3. เมื่อได้ค่าตัวเลขออกมาแล้ว ให้ไป update ที่ตาราง Projects ใน re_avg
4. นำค่าของ re_avg มาหาว่าอยู่ในช่วงของ re_start AND re_end ใน ตาราง risk_level
5. แล้วนำ risk_id ที่เปรียบเทียบได้จากข้อ 4. มา Update ลงใน risk_id ของตาราง Projects
6. หลังจากนั้นมา count(risk_id) ของตาราง Projects ว่ามีจำนวนกี่แถว
7. เมื่อได้จำนวนแถว แล้วให้ไป update ลงที่ qty ตาม risk_id ที่เหมือนกัน
8. เสร็จ
ขอบคุณครับ