在 MySQL 中创建带分隔符的存储过程
mysqlmysqli database
您可以使用 create procedure 命令创建存储过程。语法如下 −
delimiter // CREATE PROCEDURE yourStoreProcedureName() BEGIN Declare variable here The query statement END // delimiter //
应用上述语法创建存储过程。查询如下−
mysql> use test; Database changed mysql> delimiter // mysql> create procedure Sp_callTableStoredProcTable() −> begin −> select *from StoredProcTable; −> end // Query OK, 0 rows affected (0.54 sec)
现在您需要使用 ; 更改分隔符以调用存储过程 −
mysql> delimiter ;
您可以使用 CALL 命令调用存储过程。语法如下 −
CALL yourStoredProcedureName();
可以使用 CALL 命令调用上述存储过程,如以下查询所示 −
mysql> call Sp_callTableStoredProcTable();
以下是输出 −
+-----------+------+ | FirstName | Age | +-----------+------+ | John | 23 | | Bob | 24 | | David | 20 | +-----------+------+ 3 rows in set (0.03 sec) Query OK, 0 rows affected (0.06 sec)
上面,我们使用了表"StoredProcTable",该表有三条记录。使用存储过程显示所有记录。
您可以使用存储过程检查表中有多少条记录 −
mysql> delimiter // mysql> create procedure CountingRecords() −> begin −> select count(*) as AllRecords from StoredProcTable; −> end // Query OK, 0 rows affected (0.19 sec) mysql> delimiter ;
使用 CALL 命令调用存储过程。查询如下 −
mysql> call CountingRecords();
以下输出显示记录数 −
+------------+ | AllRecords | +------------+ | 3 | +------------+ 1 row in set (0.31 sec) Query OK, 0 rows affected (0.33 sec)