无参数传递
# MySQL创建存储过程函数
# 存储过程使用大纲·无参数传递
delimiter $$
# 声明一个名称为get_student_name_introduce
create procedure get_student_name_introduce()
# 开始操作
begin
# 撰写真正在操作DML+DQL都行
set @userName='龙姑娘';
select introduce '简介' from student where userName=@userName;
end $$
delimiter ;
#使用函数(调用存储过程)
call get_student_name_introduc();
有参数传递
# MySQL创建存储过程函数
# 存储过程使用大纲·有参数传递
delimiter $$
# 声明一个名称为get_student_name_introduce
create procedure get_student_name_introduce(in p_name varchar(20))
# 开始操作
begin
# 撰写真正在操作DML+DQL都行
select introduce '简介' from student where userName=p_Name;
end $$
delimiter ;
#使用函数(调用存储过程)
call get_student_name_introduce('王语嫣');
在MySQL中,你可以使用 CREATE PROCEDURE 语句来创建存储过程函数。以下是一个基本的示例:
DELIMITER $$
CREATE PROCEDURE `example_procedure`()
BEGIN
-- 你的SQL代码
END$$
DELIMITER ;
在这个例子中, DELIMITER 语句用于修改MySQL的语句分隔符,因为存储过程体可能包含多个SQL语句。在此之后,我们使用 CREATE PROCEDURE 语句创建名为 example_procedure 的存储过程函数,它没有参数。
在 BEGIN 和 END 之间,你可以编写任意数量的SQL语句。这些语句可以是SELECT、INSERT、UPDATE、DELETE等。
要调用存储过程函数,你可以使用 CALL 语句:
CALL example_procedure();
如果你需要向存储过程函数传递参数,你可以在 CREATE PROCEDURE 语句中定义参数。参数可以是 IN 、 OUT 或 INOUT 类型。
例如:
CREATE PROCEDURE `example_procedure_with_params`(IN param1 INT, OUT param2 VARCHAR(255))
BEGIN
-- 你的SQL代码
END
在这个例子中, param1 是一个 IN 类型的参数, param2 是一个 OUT 类型的参数。
要调用带有参数的存储过程函数,你可以使用以下语句:
CALL example_procedure_with_params(1, @param2);
在这个例子中,我们传递了 1 作为 param1 的值,并将 @param2 作为 param2 的输出值。