2016-03-11 172 views
0

在我们的系统中,某些存储过程将插入语句和更新语句捆绑在一起。他们首先执行插入语句。如果执行后唯一字段存在重复错误,则它们将执行更新语句。它们旨在用于未知数据是否在我们的数据库中的情况。插入语句和更新语句包

下面是一个这样的查询

INSERT INTO table1 
(...) 
VALUES 
    (...) 
ON DUPLICATE KEY UPDATE 
    ... 

在的情况下的结构,我只需要更新一个表中的字段。当然,我可以使用这样的存储过程。然而,我想知道我是否应该创建一个新的更新查询来更新数据,或者不是以一种好的做法。

任何输入?

回答

0

如果我明白你在说什么,那么如果插入语句返回错误,那么你正在调用更新语句?

如果是这样,那么你可能可以使用EXISTS来检查更新前你想要更新的字段是否在数据库中。

https://msdn.microsoft.com/en-us/library/ms188336.aspx

+0

谢谢。但那不是我的问题。 – TeeKai