各位大佬,請教一下觸發器的問題,我現在有兩張表dm_delivbill和dm_verifydetail,我想在dm_verifydetail表有增行或修改的時候篩選出以它的主鍵cdelivbill_hid分組后ts欄位的最大值,并且將篩選出來的資料里dr=1的修改表dm_delivbill對應欄位 vdef15 = '0' ,dr=0的修改表dm_delivbill對應欄位 vdef15 = '1'.dm_delivbill和dm_verifydetail的cdelivbill_hid欄位相同為鏈接條件。
但是我寫好如下陳述句后,執行生效,但每次我修改dm_verifydetail或增行dm_verifydetail表,都是以修改前的表為規則來改的,比如說我上午加了一行,下午再加一行上午這一行才會更新,請問是我陳述句寫得有問題嗎?
create or replace trigger yfyffp
after INSERT OR update of dr on dm_verifydetail
FOR EACH ROW
declare
PRAGMA AUTONOMOUS_TRANSACTION;
begin
update dm_delivbill
set vdef15 = '1'
where cdelivbill_hid in (SELECT a.cdelivbill_hid
FROM dm_verifydetail a
WHERE NOT EXISTS (SELECT 1
FROM dm_verifydetail b
WHERE b.ts > a.ts
group by cdelivbill_hid)
and a.dr = 0);
COMMIT;
update dm_delivbill
set vdef15 = '0'
where cdelivbill_hid in (SELECT a.cdelivbill_hid
FROM dm_verifydetail a
WHERE NOT EXISTS (SELECT 1
FROM dm_verifydetail b
WHERE b.ts > a.ts
group by cdelivbill_hid)
and a.dr = 1);
COMMIT;
end;
uj5u.com熱心網友回復:
盡量或是絕對避免用觸發器uj5u.com熱心網友回復:
after INSERT OR update of dr on dm_verifydetail-->
after INSERT OR update on dm_verifydetail
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/10005.html
標籤:高級技術
