批处理执行 MYSQL存储过程文件 错误

zxdyu2009 2011-05-26 02:17:38
我写了一个文件:create_procedure.sql
code:

use inter;
drop procedure if exists proc_device_db_stroe;
create procedure proc_device_db_stroe(IN sn varchar(64),IN type int(4))
begin
set @sqlcmd = 'create table tb_test(id int(4));';
PREPARE stmt FROM @sqlcmd;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
end

写了一个批处理命令:create.bat
code:
mysql -h localhost -uroot -p < create_procedure.sql
pause
当我双击执行create.bat文件时提示如下错误:
ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL server version for the right syntax to use n
ear '' at line 3
请问我这个存储过程哪有错误,但是为什么用MYSQL可视化工具执行create_procedure.sql文件中的代码没问题?
...全文
158 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
rucypli 2011-05-26
  • 打赏
  • 举报
回复
delimiter $$



你这不用动态语句
vipper23 2011-05-26
  • 打赏
  • 举报
回复
use inter;
drop procedure if exists proc_device_db_stroe;
delimiter $$
create procedure proc_device_db_stroe(IN sn varchar(64),IN type int(4))
begin
set @sqlcmd = 'create table tb_test(id int(4));';
PREPARE stmt FROM @sqlcmd;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
end
$$
delimiter ;

56,687

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧