【问题标题】:MSSQL Stored procedure conversion to MySQLMSSQL 存储过程转换为 MySQL
【发布时间】:2017-07-06 17:50:15
【问题描述】:

站点已经在 .Net 中构建,它使用 SQL Server 存储过程。现在我们正在转换为 PHP,因为我们也在改变 MySQL 中的存储过程。

在其中一个存储过程中有一些代码可以多次插入和更新,在SQL存储过程中实现如下:

MERGE
    INTO products T
    USING SELECT STATEMENT
WHEN MATCHED
    THEN UPDATE STATEMENT
WHEN NOT MATCHED
        THEN INSERT STATEMENT

我需要在 MySQL 存储过程语法中替代这种方法。请指导我如何实现这一目标。

【问题讨论】:

标签: php mysql sql stored-procedures


【解决方案1】:

您应该可以将其替换为 on duplicate key update

为此,您需要在指定“匹配”的列上使用唯一键。

注意:这(肯定)不会替换所有merge 代码。但是,您的示例似乎正在实现此逻辑。否则,您可以将 ifupdateinsert 语句一起使用,几乎可以做同样的事情。

【讨论】:

  • 如何实现除键列外的两列组合来决定是否更新记录。
猜你喜欢
  • 2010-10-23
  • 1970-01-01
  • 2016-10-23
  • 1970-01-01
  • 2018-12-23
  • 2017-05-07
  • 1970-01-01
  • 2021-08-17
  • 1970-01-01
相关资源
最近更新 更多