Stored procedures Insert语句和update语句包

Stored procedures Insert语句和update语句包,stored-procedures,relational-database,Stored Procedures,Relational Database,在我们的系统中,一些存储过程将insert语句和update语句捆绑在一起。它们首先执行insert语句。如果执行后唯一字段出现重复错误,他们将执行update语句。它们被设计用于不知道数据是否在我们的数据库中的情况 下面是此类查询的结构 INSERT INTO table1 (...) VALUES (...) ON DUPLICATE KEY UPDATE ... 在某种情况下,我只需要更新表的一个字段。当然,我可以使用这样的存储过程。一、 然而,我想知道我是否应该仅仅为了更新数据

在我们的系统中,一些存储过程将insert语句和update语句捆绑在一起。它们首先执行insert语句。如果执行后唯一字段出现重复错误,他们将执行update语句。它们被设计用于不知道数据是否在我们的数据库中的情况

下面是此类查询的结构

INSERT INTO table1
(...)
VALUES
  (...)
ON DUPLICATE KEY UPDATE
  ...
在某种情况下,我只需要更新表的一个字段。当然,我可以使用这样的存储过程。一、 然而,我想知道我是否应该仅仅为了更新数据而创建一个新的更新查询


有什么意见吗

如果我理解您的意思,那么如果insert语句返回错误,您是在调用update语句吗

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


谢谢。但这不是我的问题。