避免在从两个表中获取unizue行的位置插入重复行

时间:2015-06-24 09:54:10

标签: sql oracle duplicates multi-table check-constraint

我有两个表,例如customer_name和customer_phone,但是从两个表中的所有四列的组合中识别出唯一客户。

由于我们有多个源系统同时插入到下面的表中,在插入之前我们验证的所有那些作业都使用函数来检查客户是否已经存在使用(f_name,l_name,area_code,phone_num)这种组合。但是我们仍然会看到重复插入,因为验证发生在其他作业已经插入但尚未提交的情况下。有没有解决方案可以避免重复?

CUSTOMER_NAME

Col:ID,First_name,last_name

cutomer_phone

col:ID,area_code,Phone_number

1 个答案:

答案 0 :(得分:0)

是。不要在应用程序中进行检查。让数据库使用唯一索引/约束进行检查。如果我不得不猜测你想要的限制:

if(array.length == 10) {

    array.splice(0, 1);
    // this will delete first element in array
}

然后数据库将进行检查,您不必担心重复 - 尽管您应该检查插入的错误。