繁体   English   中英

在存储过程mysql工作台中发生分号错误

[英]MIssing semicolon error in stored procedure mysql workbench

嗨我是mysql的新手,并试图通过存储过程更新表。我得到“缺少分号错误。我尝试了一切,但我无法理解为什么会发生这种情况。

程序:

DROP PROCEDURE IF EXISTS abc;
use smartdata;
DELIMITER $$

CREATE PROCEDURE abc(IN datasourceId int)
begin

        update DM_Sample_Search_Param_Disposition_Type set DM_Sample_Search_Param_Disposition_Type.Active = 0
        From DM_Sample_Search_Param_Disposition_Type dm_ss_param_cl
        left join DM_Sample_Search_Param dm_ss_param on dm_ss_param_cl.DM_Sample_Search_Param_id =dm_ss_param.DM_Sample_Search_Param_id
        left join DM_Sample_Store dm_ss on dm_ss.DM_Sample_Store_Id=dm_ss_param.DM_Sample_Store_Id
        where dm_ss.Datasource_Id=datasourceId;

end $$
DELIMITER //

接近线下的错误:

set DM_Sample_Search_Param_Disposition_Type.Active = 0

其中“Active”在表格中是tinyint。请帮助

MySQL使用与MSSQL不同的语法进行更新: update ... join .. set ... where ...

update DM_Sample_Search_Param_Disposition_Type dm_ss_param_cl
left join DM_Sample_Search_Param dm_ss_param on dm_ss_param_cl.DM_Sample_Search_Param_id =dm_ss_param.DM_Sample_Search_Param_id
left join DM_Sample_Store dm_ss on dm_ss.DM_Sample_Store_Id=dm_ss_param.DM_Sample_Store_Id
set DM_Sample_Search_Param_Disposition_Type.Active = 0
where dm_ss.Datasource_Id=datasourceId;

错误的连接表sintax

update DM_Sample_Search_Param_Disposition_Type as dm_ss_param_cl
left join DM_Sample_Search_Param dm_ss_param on dm_ss_param_cl.DM_Sample_Search_Param_id =dm_ss_param.DM_Sample_Search_Param_id
left join DM_Sample_Store dm_ss on dm_ss.DM_Sample_Store_Id=dm_ss_param.DM_Sample_Store_Id
set DM_Sample_Search_Param_Disposition_Type.Active = 0
where dm_ss.Datasource_Id=datasourceId;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM