因为要刷旧数据,所以创建一个存储过程,准备执行,大概就这样,省略了大部分逻辑
create procedure lm_hotel_mgr.initOrderFild()
begin
DECLARE done INT DEFAULT 0;
select * from field_case ;
end
在开发和测试环境都是正常,切换工具测试也正常,但是在阿里云DMS数据库上创建时报错
检查原因是因为 DMS默认是以分号作为SQL结束的标志,存储过程中有多个SQL,需要整体运行,所以报错。
解决方法:使用DELIMITER临时设置新的结束符。(以双斜杠//为例)
例如
DELIMITER //
create procedure lm_hotel_mgr.initOrderFild()
begin
DECLARE done INT DEFAULT 0;
select * from field_case ;
end //
DELIMITER ;
开始部分设置//
为新的结束符,存储过程结束后的end
后面添加上结束符,最后加上DELIMITER ;
收尾