关于oracle触发器问题

qq_41719475 2018-02-07 05:00:03
问题:需要将Adt_Log表的log_date_time字段最大值修改到pat_visit1表中的MOVE_DATE4 字段;
备注:1.pat_visit1表 和 Adt_Log表 都有 PATIENT_ID 和 visit_id 字段,可以做关联;
2.Adt_Log 表的 log_date_time 时间字段,当存在多条数据时,需要取最大值;
以下为本人(新人)写的触发器,感觉用不了,求大神们指点,内附报错提示(在Adt_Log新建修改或新建都报错)


create or replace trigger 修改adt字段 after update of log_date_time on Adt_Log
for each row
begin
update pat_visit1 a
set MOVE_DATE4 = (select max(log_date_time) from Adt_Log b where b.PATIENT_ID = a.PATIENT_ID and b.visit_id = a.visit_id);
end;
...全文
1127 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wawxj 2018-02-26
  • 打赏
  • 举报
回复
create or replace trigger 修改adt字段 after update of log_date_time on Adt_Log for each row begin update pat_visit1 a set MOVE_DATE4 =greatest (:new.log_date_time,move_date4) where visit_id=:new..visit_id; end;
qq_41719475 2018-02-07
  • 打赏
  • 举报
回复

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧