高手们帮帮忙---触发器

daisrsz 2004-07-09 11:48:27
我对写一个表写一个触发器,当有一条记录插入到表中时,就使其中的一个列的值让他保持一个值,同时我也要在插入时,把此记录插入到另外一个相同的表中,只是表名不一样!
现在在触发器中,写一个COMMIT语句,为何提示触发器不能支持呢~
还有现在我已经成功做到了,保持一个值了,但是我在插入到另外一个表时,怎么就不行呢!就会出现一直在运行的情况!
IF v_name>0 THEN
BEGIN
insert into t_feestyle1 select * from t_feestyle where feetype=3;(去掉后就能保持一个值,如何插入到另外表,怎么写呢)
UPDATE t_feestyle SET feetype=2 WHERE feetype=3 ;
commit;(报错,如上)
end;
end if;
...全文
104 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
daisrsz 2004-07-09
  • 打赏
  • 举报
回复
另外上面我写的SQL,哪样直接插入,怎么在插入时就可会出现一直在运行!!
daisrsz 2004-07-09
  • 打赏
  • 举报
回复
是吗,我在一个正在运行的系统中,一个触发器里就用了COMMIT啊,
另外不用问题也不大,关键时当插入一条新记录如在修改前保存
到一个另外的一个表中呢,平平谈谈请教了?
welyngj 2004-07-09
  • 打赏
  • 举报
回复
oracle规定不可以在出发器中使用commit
daisrsz 2004-07-09
  • 打赏
  • 举报
回复
报错如上面,是指提示不支持在触发器中COMMIT;为何呢?
daisrsz 2004-07-09
  • 打赏
  • 举报
回复
不知道开始运行触发器就好像一直运行下去的样子 ,我实在找不到办法,重启的服务,就没有问题了,测试了也没有问题,我没有采用行级触发器,不过OK大哥有联系方式吗,有些问题向你请教!
dinya2003 2004-07-09
  • 打赏
  • 举报
回复
把commit注释掉.

不知道你的触发器是不是用了行级触发,如果是的话导致变异表.将不能select .这样的话就一直找不到要插入的数据了.

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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