存储过程:
概念类似于函数,就是把一段代码封装起来,当要执行这一代码的时候,可以通过调用该存储过程来实现
在封装的语句体里面,可以用if/else case while等控制结构,进行sql编程
第一个存储过程,体会“封装sql“
Delimiter $
create procedure p1()
begin
select * from test;
end$
第二个存储过程,体会”参数“
create procedure p2( n int)
begin
select * from test where id > n;
end$
第三个存储过程,体会”控制结构“
create procedure p3( n int, j char(1))
begin
if j='h' then
select * from test where id > n;
else
select * from test where id < n;
end if;
end$
第四个存储过程,体会”循环“
计算1->n的和
create procedure p4( n smallint)
begin
declare i int;
declare s int;
set i = 2;
set s = 0;
while i <= n do
set s = s + i;
set i = i + 1;
end while;
select s;
end$
Delimiter ;
总结:
1.存储过程不支持$i++,变量赋值必须使用set关键字
2.在mysql中,存储过程跟函数的区别
a.名称的不同
b.存储过程没有返回值