- FINAL TABLE: ผลที่ได้จะเหมือนกับ NEW TABLE แต่เป็นการรับรองว่าผลที่ได้นี้เกิดขึ้นหลังจากทำ trigger แล้ว
- NEW TABLE: ค่าใหม่ที่ถูก insert หรือ update
- OLD TABLE: ข้อมูลเก่าที่ถูก delete
ดังตัวอย่างต่อไปนี้
sql statement:
SELECT * FROM FINAL TABLE (
INSERT INTO TB_HITME (MYKEY, MYMESSAGE) SELECT 1, 'ONE' FROM SYSCAT.TABLES FETCH FIRST 5 ROWS ONLY
)
หรือ
result:
MYKEY MYMESSAGE
-------- ------------
1 ONE
1 ONE
SELECT * FROM NEW TABLE (
INSERT INTO TB_HITME (MYKEY, MYMESSAGE) SELECT 1, 'ONE' FROM SYSCAT.TABLES FETCH FIRST 5 ROWS ONLY
)
result:
MYKEY MYMESSAGE
-------- ------------
1 ONE
1 ONE
1 ONE
1 ONE
1 ONE
sql statement:
SELECT * FROM FINAL TABLE (
UPDATE TB_HITME SET MYKEY = MYKEY + 1
)
result:
MYKEY MYMESSAGE
-------- ------------
2 ONE
2 ONE
2 ONE
2 ONE
2 ONE
sql statement:
SELECT * FROM OLD TABLE (
delete from tb_hitme
)
result:
MYKEY MYMESSAGE
-------- ------------
2 ONE
2 ONE
2 ONE
2 ONE
2 ONE
No comments:
Post a Comment