【问题标题】:How to write Insert ignore or update for this Query?如何为此查询编写插入忽略或更新?
【发布时间】:2020-08-17 04:42:56
【问题描述】:

我有一个 MYSQL 存储过程,用于合并暂存表和 MST 表之间的数据。

CREATE PROCEDURE `LDA_MERGE_TRACTOR_EQUPIMENT`()
BEGIN
    INSERT IGNORE
INTO Appian.LDA_CETARIS_TRACTOR_EQUIPMENT_MST(
    `Asset #`,
    `Fleet Code`,
    `Description`,
    `Asset Category`,
    `Asset Type`,
    `Asset Item`
)
SELECT
    `Asset #`,
    `Faleet Code`,
    `Description`,
    `Asset Category`,
    `Asset Type`,
    `Asset Item`
FROM
    Appian.LDA_CETARIS_TRACTOR_EQUIPMENT_STAGING stg
ORDER BY
    `Asset #`
ON DUPLICATE KEY
UPDATE
    `Fleet Code` = stg.`Fleet Code`,
    `Description` = stg.`Description`,
    `Asset Category`= stg.`Asset Category`,
    `Asset Type` = stg.`Asset Type`,
    `Asset Item` = stg.`Asset Item`;
END

Asset #,是两个表的主键。但我收到错误消息:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 29

Line 29:     `Asset Item` = stg.`Asset Item`;

谁能帮帮我?谢谢!

【问题讨论】:

  • 使用 VALUES() 函数,如 Fleet Code = VALUES(Fleet Code) - 即使用未检测到重复时应插入的值进行更新。

标签: mysql procedure


【解决方案1】:

您需要像下面这样定义delimeter

DELIMITER $$
CREATE PROCEDURE `LDA_MERGE_TRACTOR_EQUPIMENT`()
BEGIN
    INSERT IGNORE
INTO Appian.LDA_CETARIS_TRACTOR_EQUIPMENT_MST(
    `Asset #`,
    `Fleet Code`,
    `Description`,
    `Asset Category`,
    `Asset Type`,
    `Asset Item`
)
SELECT
    `Asset #`,
    `Faleet Code`,
    `Description`,
    `Asset Category`,
    `Asset Type`,
    `Asset Item`
FROM
    Appian.LDA_CETARIS_TRACTOR_EQUIPMENT_STAGING stg
ORDER BY
    `Asset #`
ON DUPLICATE KEY
UPDATE
    `Fleet Code` = stg.`Fleet Code`,
    `Description` = stg.`Description`,
    `Asset Category`= stg.`Asset Category`,
    `Asset Type` = stg.`Asset Type`,
    `Asset Item` = stg.`Asset Item`;
END$$
DELIMITER ;

欲了解更多信息,请访问this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-29
    • 1970-01-01
    • 2010-11-05
    • 1970-01-01
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多