在 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)

相关文章