Oracle触发器更新不同表的正确语法是什么?
问题描述:
架构:分配(票号,高科技pplSoft,日期分配状态) 如果状态ELD是一个枚举,可以:分配,在进步,委托,关闭成功,或关闭不成功Oracle触发器更新不同表的正确语法是什么?
1)写触发称为ClosedTicket,只要ASSIGNMENT表的状态属性 更改为“成功关闭”或“关闭不成功”, 就会将TICKETS表的日期关闭属性的值设置为当前的 日期。
我开始这样吗?并在where子句中使用状态='关闭成功'或状态='关闭不成功'?
创建或
答
像这样的东西应该工作REPLACE TRIGGER ClosedTicket 更新后(虽然我猜什么的主键列在TICKETS
名称是)。
CREATE OR REPLACE TRIGGER ClosedTicket
AFTER UPDATE ON assignment
FOR EACH ROW
BEGIN
IF(:new.status IN ('closed successful', 'closed unsuccessful'))
THEN
UPDATE tickets t
SET date_closed = sysdate
WHERE t.ticket_id = :new.ticket;
END IF;
END;