delimiter 的作用:
這個命令就是告訴mysql解釋器,該段命令是否已經結束了,mysql是否可以執行了。
默認情況下,delimiter是分號;。在命令行客戶端中,如果有一行命令以分號結束,
那麼回車後,mysql將會執行該命令。如輸入下面的語句
mysql> select * from test_table;
然後回車,那麼MySQL將立即執行該語句。
但有時候,不希望MySQL這麼做。在爲可能輸入較多的語句,且語句中包含有分號。比如說在創建存儲過程的時候,分號就希望
不被執行,可以做如下處理:
- mysql> delimiter //
- mysql> CREATE PROCEDURE simpleproc (OUT test INT)
- -> BEGIN
- -> SELECT COUNT(*) INTO test FROM t;
- -> END
- -> //
- Query OK, 0 rows affected (0.00 sec)
- mysql> delimiter ;
- mysql> CALL simpleproc(@a);
- Query OK, 0 rows affected (0.00 sec)