Mysql练习

写一个完整的包括参数、变量、变量赋值、条件判断、UPDATE语句、SELECT返回结果集的存储过程。创建一个执行动态SQL的存储过程。
创建实现功能相同的存储函数,比较他们之间的不同点在什么地方?

1.先编写一个表,并添加数据,查看成功创建

CREATE TABLE dome_3
(
id INT(10) PRIMARY KEY,
name VARCHAR(30) NOT NULL,
age INT(10)
);
INSERT into dome_3 values 
(1,'zhangsan',18), 
(2,'lisi',19), 
(3,'wangwu',20);
select * from dome_3;

Mysql练习_第1张图片

2.编写存储过程

delimiter //
create procedure view1(in id_s1 int(10),id_s2 int(10),name_s varchar(20),age_s int(10)) 
begin 
if id_s1 is null then select 'id不能输入空'; 
else update demo_3 set id= id_s2,name=name_s,age=age_s where id=id_s1; 
end if; 
select * from demo_3; 
end//
delimiter ;

3.调用

call view1(1,4,'joker',17);

Mysql练习_第2张图片

上述包括了参数、变量、变量赋值、条件判断、UPDATE语句、SELECT返回结果集的存储过程。是一个执行动态SQL的存储过程。

4.存储过程和存储函数的不同点:

关键字不同,调用语法不同,存储过程不需要返回类型,而函数则必须要返回类型,储过程可以看做就是一组封装好的sql语句,而存储函数是为了完成某种功能.故存储过程不可应用在查询语句中,存储函数反之。

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