定义命令的结束标志。
默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,
那么回车后,mysql将会执行该命令。如输入下面的语句
mysql> select * from test_table;
然后回车,那么MySQL将立即执行该语句。
但有时候,不希望MySQL这么做。在为可能输入较多的语句,且语句中包含有分号。
如在命令行下输入存储过程:
mysql> create procedure simpleproc (out paraml int)
-> begin
-> select count(*) into paraml from user;
-> end
这时使用delimiter来改变默认结束标志:
mysql> delimiter //
mysql> create procedure simpleproc (out paraml int)
-> begin
-> select count(*) into paraml from user;
-> end
-> //
然后就可以改回原来的分号,然后测试一下存储过程
mysql> delimiter ;
mysql> call simpleproc(@a);
Query OK, 0 rows affected (0.00 sec)
mysql> select @a;
±-----+
| @a |
±-----+
| 5 |
±-----+
1 row in set (0.00 sec)