MySQL 存储过程
删除存储过程,创建前请确定没有与要创建的同名的存储过程
drop procedure if exists 存储过程名;
创建存储过程
单行语句存储过程
create procdure 存储过程名(参数及类型) 语句;
多行语句存储过程(注:若结束符为;,首先用delimiter修改结束符)
delimiter ;;
create procedure 存储过程名(参数及类型)
begin
语句一;
语句二;
-- ...
end
例一:create procedure pr_hi() select 'hi';
例二:创建一个计算两个数之和的存储过程
delimiter ;; --设置mysql结束符为;;
create procedure pr_add( a int, b int )
begin
if a is null then --注意在sql中数据项可以为null,注意处理
set a = 0;
end if;
if b is null then
set b = 0;
end if;
set @c = a + b;
select @c as 'result';
end;;
delimiter ; -- 创建完成后可以将结束符再修改回;
调用 MySQL 存储过程
例一、call pr_add(35, 97);
例二(注意@符号)、
set @a = 10;set @b = 20;
call pr_add(@a, @b);
MySQL 存储过程结构
create procedure 存储过程名字() ( [in(默认)|out|inout] 参数 datatype ... )
MySQL 语句;若有多行要在前加begin,末尾加end
MySQL 存储过程的一些需要注意的地方
1. MySQL 存储过程名字后面的括号必须要有,来管有没有参数
2. MySQL 存储过程的参数,不能在参数名称前加“@”,如:“@a int”
3. MySQL 存储过程的参数不能指定默认值
4. MySQL 中的procedure不可以简写成proc
5. MySQL 存储过程的每条语句的末尾,都要加上分号“;”
6. 若创建的 MySQL 存储过程中包含多条 MySQL 语句,则需要 begin end 关键字,并且如果结束符是";"的话,一定要记得用delimiter修改
8. MySQL 存储过程中没有 “return” 关键字
9. 调用 MySQL 存储过程时,存储过程名后的括号也是必须的
10. 调用 MySQL 存储过程时,任何参数都不可省略而不写
删除存储过程,创建前请确定没有与要创建的同名的存储过程
drop procedure if exists 存储过程名;
创建存储过程
单行语句存储过程
create procdure 存储过程名(参数及类型) 语句;
多行语句存储过程(注:若结束符为;,首先用delimiter修改结束符)
delimiter ;;
create procedure 存储过程名(参数及类型)
begin
语句一;
语句二;
-- ...
end
例一:create procedure pr_hi() select 'hi';
例二:创建一个计算两个数之和的存储过程
delimiter ;; --设置mysql结束符为;;
create procedure pr_add( a int, b int )
begin
if a is null then --注意在sql中数据项可以为null,注意处理
set a = 0;
end if;
if b is null then
set b = 0;
end if;
set @c = a + b;
select @c as 'result';
end;;
delimiter ; -- 创建完成后可以将结束符再修改回;
调用 MySQL 存储过程
例一、call pr_add(35, 97);
例二(注意@符号)、
set @a = 10;set @b = 20;
call pr_add(@a, @b);
MySQL 存储过程结构
create procedure 存储过程名字() ( [in(默认)|out|inout] 参数 datatype ... )
MySQL 语句;若有多行要在前加begin,末尾加end
MySQL 存储过程的一些需要注意的地方
1. MySQL 存储过程名字后面的括号必须要有,来管有没有参数
2. MySQL 存储过程的参数,不能在参数名称前加“@”,如:“@a int”
3. MySQL 存储过程的参数不能指定默认值
4. MySQL 中的procedure不可以简写成proc
5. MySQL 存储过程的每条语句的末尾,都要加上分号“;”
6. 若创建的 MySQL 存储过程中包含多条 MySQL 语句,则需要 begin end 关键字,并且如果结束符是";"的话,一定要记得用delimiter修改
8. MySQL 存储过程中没有 “return” 关键字
9. 调用 MySQL 存储过程时,存储过程名后的括号也是必须的
10. 调用 MySQL 存储过程时,任何参数都不可省略而不写