写一个完整的包括参数、变量、变量赋值、条件判断、UPDATE语句、SELECT返回结果集的存储过程。
先编写一个表,并添加数据并查看
CREATE TABLE BBB
(
id INT(10) PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT(10),
work VARCHAR(20) NOT NULL
);
INSERT into BBB values
(1,'Mr.wang',888,'beijing'),
(2,'Ms.li',88,'shanghai'),
(3,'LaoWang',8,'guangdong');
select * from BBB;
编写存储过程
delimiter //
create procedure view2(in id_s1 int(10),id_s2 int(10),name_s varchar(20),age_s int(10),work_s varchar(20))
begin
if id_s1 is null then select '请输入一个id';
else update BBB set id= id_s2,name=name_s,age=age_s,work=work_s where id=id_s1;
end if;
select * from BBB;
end//
delimiter ;
调用一下view2
call view2(1,4,'moniko',4,'sichuan');
上面的实验包括了参数、变量、变量赋值、条件判断、UPDATE语句、SELECT返回结果集的存储过程。
属于是一个执行动态SQL的存储过程。
创建实现功能相同的存储函数,比较他们之间的不同点在什么地方?
关键字不同,调用语法不同,存储过程不需要返回类型,而函数则必须要返回类型,储过程可以看做就是一组封装好的sql语句,而存储函数是为了完成某种功能.故存储过程不可应用在查询语句中,存储函数反之。