【发布时间】:2012-08-10 16:37:28
【问题描述】:
我想要一个用于重复检查的简单 SQL(触发器)。
我的表名是test1,有两列,code 和sname。在插入新记录之前,检查记录是否已经存在:如果存在,则产生错误,不插入;如果没有,让插入继续。
我该怎么做?
【问题讨论】:
-
您尝试了哪些方法,为什么没有成功?可以在Informix 11.70 Information Center 找到这些手册。为什么你想要一个触发器而不是简单地在每一列上创建一个唯一的约束?除非需要,否则不要编写触发器;非触发约束将“更有效”。还有一整套独立的问题与 I4GL 是否会识别 CREATE TRIGGER 的语法有关;您可能需要将该语句包含在 SQL CREATE TRIGGER ... END SQL 块中。
-
我不知道这个informix 4GL。这里他们要我创建一个触发器,我尝试通过select语句添加,但不知道。
-
如果它是一个课堂练习,那么它可能会有一些优点,尽管具体的约束最好按照讨论的方式处理。如果是用于生产代码,那么你需要向他们解释他们的要求是不合理的,你可以让他们看看这个,和/或与我讨论它(请参阅我的个人资料以获取电子邮件地址)。
-
解决此问题的简单方法非常简单,如果您使用的是表单画家,只需添加唯一键即可。我花了几天时间来解决这个简单的问题。感谢乔纳森的支持。