trigger
2013-11-22 16:53
141 查看
CREATE OR REPLACE FUNCTION update_task_budget() RETURNS trigger AS $update_task_budget$
DECLARE
taskid integer;
BEGIN
taskid := (SELECT project_taskid FROM gpm_project WHERE id = OLD.id);
UPDATE gpm_task SET task_budget = (SELECT sum(project_budget) FROM gpm_project WHERE project_taskid = taskid) WHERE id = taskid;
RETURN NULL;
END;
$update_task_budget$ LANGUAGE plpgsql;
CREATE TRIGGER update_task_budget AFTER INSERT OR UPDATE OR DELETE ON gpm_project
FOR EACH ROW EXECUTE PROCEDURE update_task_budget();
DECLARE
taskid integer;
BEGIN
taskid := (SELECT project_taskid FROM gpm_project WHERE id = OLD.id);
UPDATE gpm_task SET task_budget = (SELECT sum(project_budget) FROM gpm_project WHERE project_taskid = taskid) WHERE id = taskid;
RETURN NULL;
END;
$update_task_budget$ LANGUAGE plpgsql;
CREATE TRIGGER update_task_budget AFTER INSERT OR UPDATE OR DELETE ON gpm_project
FOR EACH ROW EXECUTE PROCEDURE update_task_budget();
相关文章推荐
- Oracle中Trigger例子2
- ClearCase Trigger指南(8)-可以设置Trigger的ClearCase操作
- Tip:自定义UpdatePanelTrigger
- Oracle Trigger :Before,after,each row and table level triggers ORA-04082 ORA-04084
- 触发器(Trigger)(六)
- INFORMIX如何通过TRIGGER实现复制同一个表的一个字段到另外一个字段
- 自定义UpdatePanelTrigger
- 速记 - 实现sql server clr trigger
- trigger
- ORACLE FORM system.trigger_item与system.cursor_item的区别
- 数据库触发器(Trigger)的一点使用心得
- ORACLE PL/SQL 触发器(trigger)学习笔记
- Extjs TriggerField在弹出窗口显示不出问题的解决方法
- TRIGGER
- 在IBM MQ的queue上设置trigger
- 【转】mysql-trigger-触发器
- MSDN 教学短片 WPF 14(2D动画之—Trigger)
- 边缘触发(Edge Trigger)和条件触发(Level Trigger)
- how many dml tuples will trigger auto vacuum or analyze
- 在Style中将EventTrigger与Trigger同时使用