Mysql存储过程案例!

以下是一个简单的MySQL存储过程的例子。这个存储过程接受一个参数(用户ID),并返回该用户的姓名

首先,您需要创建存储过程:

DELIMITER //

CREATE PROCEDURE GetUserName (IN userId INT)
BEGIN
    DECLARE userName VARCHAR(255);
    SELECT name INTO userName FROM users WHERE id = userId;
    SELECT userName;
END//

DELIMITER ;

这是一个MySQL数据库中的存储过程定义语句。

它定义了一个名为"GetUserName"的存储过程,该过程接受一个参数"userId",并返回与该用户ID匹配的用户名。

在存储过程定义语句中,首先使用DELIMITER //命令将输入结束符更改为两个斜杠"//"。这是因为MySQL的默认输入结束符是分号";“,但在存储过程定义语句中,我们需要使用两个斜杠”//"作为输入结束符。

然后,使用CREATE PROCEDURE命令定义了一个名为"GetUserName"的存储过程。该过程接受一个名为"userId"的输入参数,并使用DECLARE命令声明了一个名为"userName"的变量,该变量用于存储与输入参数匹配的用户名。
接着,使用SELECT语句查询users表中与输入参数匹配的用户名,并将查询结果存在"userName"变量中。
最后,使用SELECT语句返回查询结果。在存储过程定义语句的末尾,使用DELIMITER ;命令将输入结束符更改为分号";",以恢复默认的输入结束符。

补充:

如果你想在MySQL中使用默认的输入结束符分号";“,你可以直接在SQL语句的末尾使用分号”;"作为输入结束符。
例如,以下是一个使用默认输入结束符的SQL语句:

CREATE PROCEDURE GetUserName (IN userId INT)
BEGIN
    DECLARE userName VARCHAR(255);
    SELECT name INTO userName FROM users WHERE id = userId;
    SELECT userName;
END;

要调用这个存储过程,您可以使用CALL语句:

CALL GetUserName(1);

这将调用GetUserName存储过程,并将用户ID 1传递给它。它将返回ID为1的用户的姓名。

请注意,存储过程的实际应用可能更加复杂,具体取决于您的需求。

你可能感兴趣的:(mysql,数据库)