ถามเกี่ยวกับ Trigger Database ของ Oracle ครับ

ผมติดปัญหาเรื่องอัพเดทข้อมูลโดยใช้ Trigger ครับ คือ
ผมมีตาราง 2 ตาราง(สมมุติว่าชื่อตาราง A กับ B นะครับ)

ตาราง A เอาไว้เก็บข้อมูลเวลาการทำงานของพนักงงานแต่ละคนในแต่ละวัน
---------------------------------------------------
ID    |    Work_Date    |  Working_Hours  |
---------------------------------------------------
001  |     1/7/2015      |            8           |
002  |     1/7/2015      |            7           |
003  |     1/7/2015      |            8           |
001  |     2/7/2015      |            8           |
002  |     2/7/2015      |            6           |
003  |     2/7/2015      |            7           |
001  |     3/7/2015      |            8           |
002  |     3/7/2015      |            7           |
003  |     3/7/2015      |            4           |
------------------------------------------------------

ตาราง B เอาไว้เก็บข้อมูลเวลาการทำงานและเวลาการทำงานสะสมของพนักงงานแต่ละคนในแต่ละสัปดาห์
--------------------------------------------------------------------------------------------------------------------------------
ID    | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday | Sunday | Total_Working_Hours |
--------------------------------------------------------------------------------------------------------------------------------
001  |     0     |      0     |       8       |       8     |    8    |      0     |     0     |             24             |
002  |     0     |      0     |       7       |       6     |    7    |      0     |     0     |             20             |
003  |     0     |      0     |       8       |       7     |    4    |      0     |     0     |             19             |
-------------------------------------------------------------------------------------------------------------------------------------

ที่คิดไว้คืออยากทำ Trigger ไว้ที่ตาราง A โดยทุกครั้งหลังจากที่ตารางถูก Insert Update Delete ก็ให้ทำการคำนวณค่าในตาราง A มาเก็บไว้ที่ตาราง B
(โดยสร้างเป็น Procedure เพื่อใช้ในการ Update ข้อมูลในตาราง B)
แต่ปัญหาคือผมไม่สามารถใช้ข้อมูลของตาราง A ใน Trigger ดังกล่าวได้เพราะเป็นข้อห้าม ติด Error "ORA-04091"

ผมลองใช้วิธีเพิ่มตารางสำรองขึ้นมาเพื่อเก็บค่า record จากตาราง A ก่อน
แล้วค่อยใช้ Trigger ในตารางสำรองไปเรียก Procedure อีกทอดนึง ก็ใช้งานไม่ได้เหมือนกัน
ไม่ทราบว่าจะสามารถแก้ไขหรือพอจะมีวิธีอื่นใช้แทนกันได้มั๊ยครับ
แสดงความคิดเห็น
โปรดศึกษาและยอมรับนโยบายข้อมูลส่วนบุคคลก่อนเริ่มใช้งาน อ่านเพิ่มเติมได้ที่นี่