1、delimiter关键字
delimiter关键字就是告诉MySQL解释器,该段命令是否已经结束了,mysql是否可以执行了。默认情况下,delimiter是分号;。在命令行客户端中,如果有一行命令以分号结束,那么回车后,mysql将会执行该命令。
举例:
mysql> delimiter $$
mysql> select 124;
->
-> $$
+-----+
| 124 |
+-----+
| 124 |
+-----+
1 row in set
mysql> delimiter ;
mysql> select 124;
+-----+
| 124 |
+-----+
| 124 |
+-----+
1 row in set
mysql>
-- 第一次将delimiter置为$$ 可以看到以;为结尾的语句回车后没有执行,只有输入$$后,语
-- 句才执行了
2、创建存储过程
Mysql 没有类似Oracle的匿名块,只能创建存储过程。
mysql> delimiter $$
mysql> create procedure t_print()
-> begin
-> select 123;
-> end$$
1304 - PROCEDURE t_print already exists
mysql> drop procedure if exists t_print$$
Query OK, 0 rows affected
mysql> create procedure t_print()
-> begin
-> select 123;
-> end$$
Query OK, 0 rows affected
创建前需要先检查过程是否存在,存在的话就删除掉。
3、执行存储过程
mysql> call t_print$$
+-----+
| 123 |
+-----+
| 123 |
+-----+
1 row in set
Query OK, 0 rows affected