免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3608 | 回复: 2
打印 上一主题 下一主题

informix 9.4下的触发器问题求助,在线等待。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-11-10 19:26 |只看该作者 |倒序浏览
我现在一张config表中有两个字段name和value
现在这张表有两条记录
name   value
a           1     
b           0

本来针对这个config表有一个触发器,作用是当a记录对应的value值被修改成0时,我更新了另外一张表aaa的一条记录。这个已经实现了。
现在我需要再另外创建一个触发器,作用是当b记录对应的value值被修改成1时,需要插入一条记录到aaa表中。

在informix 11下是可以通过创建两个触发器来实现的。
但是还需要支持informix 9的环境
不过informix 9环境下只能支持一张表建一个触发器。
这个就比较纠结了。
各位大侠们有没有什么好的办法呀?

附上原来的触发器代码:
create trigger test
update of value on config
referencing OLD AS pre NEW AS post
for each row when (post.name='a')
(
    update aaa set we='wee' where qwe='123' and (post.value = 0),
    update aaa set we='123' where qwe='345' and (post.value != 0)
);

目前想法是在一个触发器里面集合这两个功能,就需要在触发器里面增加条件判断了。
就是当更新a记录的值时候,执行update;当更新b记录值的时候,执行inset语句。

问题就是如何在触发器里增加类似if的条件判断呢?

希望我的问题描述的清楚了,能够让大侠们理解并帮忙解决。
多谢多谢!
非常紧急啊,在线等待。

论坛徽章:
0
2 [报告]
发表于 2011-11-10 23:13 |只看该作者
没有人帮忙啊!!!哭啊

论坛徽章:
0
3 [报告]
发表于 2011-11-11 09:58 |只看该作者
回复 2# baochangjin


    同情,好久没有玩触发器,也不想查了,建议把 = 'a' 改成in ('a','b')或者加上or试试?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP