向数据库的插入操作添加约束的最佳方法是什么?我有一个小桌子,其中一列是版本号。我想验证版本号是否随着每行插入而增加。我目前正在通过从表中获取最新版本号并对“代码端”(而不是“db-side”)进行条件检查来实现此目的。我想知道是否有更优雅的方式来做到这一点? (例如,添加不会使表的其余部分无效的约束)。顺便说一下,我正在使用informix。
答案 0 :(得分:2)
您可以使用触发器。有INSERT
语句的例子:
create trigger check_ver_trg insert on my_small_table
referencing new as new
for each row (execute procedure check_version(new.version));
在check_version()
中,您可以使用RAISE EXCEPTION
,如下所述:http://publib.boulder.ibm.com/infocenter/idshelp/v10/index.jsp?topic=/com.ibm.sqls.doc/sqls949.htm