我试图创建一个存储过程,但我不知道是什么问题,SQLyog不断地给我错误

DELIMITER //
CREATE PROCEDURE sim_management_update()
BEGIN
UPDATE bf_sim_management,test_sims SET
bf_sim_management.`sim_company_id`=test_sims.`id` WHERE
bf_sim_management.`sim_company_id`=test_sims.`display_name`
END //
DELIMITER;

update语句本身工作正常,错误是
查询:创建过程sim_management_update()开始更新bf_sim_management,测试设置bf_sim_management。sim_company_id=test_si。。。
错误代码:1064
您的SQL语法有错误;请查看MariaDB服务器版本对应的手册,以在第4行的“END”附近使用正确的语法
执行时间:0秒
传输时间:0秒
总时间:0秒

最佳答案

你应该:
在update语句的末尾加上分号。
DELIMITER;之间留出空间
下面是修复的示例:

DELIMITER //
CREATE PROCEDURE sim_management_update()
  BEGIN
    UPDATE bf_sim_management,test_sims SET
      bf_sim_management.`sim_company_id`=test_sims.`id` WHERE
      bf_sim_management.`sim_company_id`=test_sims.`display_name`;
  END //
DELIMITER ;

关于mysql - 以下sql语句有什么问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49085480/

10-12 03:21