在创建存储过程时常用到“delimiter”,
我经常碰到这样一个问题,
写完存储过程脚本执行时,老提示
“SQL ERROR(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 'delimiter' at line 1”;开始我还老以为是编写的存储过程有问题,
后来我把
DROP PROCEDURE IF EXISTS sp_name;
和
delimiter //
CREATE PROCEDURE sp_name();
..
delimiter ;分开执行,就成功了;这是为什么了呢?还有时这样也不行,这又是为什么呢?
我经常碰到这样一个问题,
写完存储过程脚本执行时,老提示
“SQL ERROR(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 'delimiter' at line 1”;开始我还老以为是编写的存储过程有问题,
后来我把
DROP PROCEDURE IF EXISTS sp_name;
和
delimiter //
CREATE PROCEDURE sp_name();
..
delimiter ;分开执行,就成功了;这是为什么了呢?还有时这样也不行,这又是为什么呢?
开始我还以为是管理软件的问题,后来换 Navicat for MySQL 试了下后,情况一样。
可能是
DROP PROCEDURE IF EXISTS sp_name;
和
delimiter //中间空了一行。