注意:“DELIMITER //”语句的作用是将MYSQL的结束符设置为//,因为MYSQL默认的语句结束符为分号;,为了避免与存储过程
中SQL语句结束符相冲突,需要使用DELIMITER 改变存储过程的结束符,并以“END//”结束存储过程。
存储过程定义完毕之后再使用DELIMITER ;恢复默认结束符。DELIMITER 也可以指定其他符号为结束符!!!!!!!!!!!
如果你是这样写的话,就会得到如下错误,初学者很容易犯这个错误,包括本人
DELIMITER // CREATE DEFINER=`root`@`%` FUNCTION `setval`(seq_name VARCHAR(50), value INTEGER) RETURNS int(11) DETERMINISTIC BEGIN UPDATE sequence SET current_value = value WHERE name = seq_name; RETURN currval(seq_name); END// DELIMITER ;