相当于DB2中的ignore_dup_row

时间:2015-01-02 10:03:49

标签: database db2 sybase

我有一个DB2存储过程和触发器正在执行一组插入。这些插入语句中的一些可能已经存在于表中。我试图避免在每次插入之前检查行,因为我认为它可能会增加处理开销。 我试图找出Sybase提供的'ignore_dup_row'索引属性的DB2等价物。如果没有与此类似的DB2,那么在尝试执行重复插入时忽略事务回滚的可行选项还有其他选择。

1 个答案:

答案 0 :(得分:1)

使用合并声明:

merge into t as x
using (
    values (...) -- new row
) y (c1, c2, ..., cn)
    on x.[key] = y.[key]
when not matched then
    insert (c1,c2,...cn) values (y.c1,y.c2,...y.cn);

如果您逐个插入行,您还可以为' 23505'添加一个继续处理程序。在您的存储过程中。