MySQL数据库存储过程详解
MySQL数据库存储过程详解
⼀、存储过程
1、概念
存储过程(Stored Procedure)是⼀种在数据库中存储复杂程序,以便外部程序调⽤的⼀种数据库对象。
存储过程是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,⽤户可通过指定存储过程的名字并给定参数(需要时)来调⽤执⾏。
存储过程思想上很简单,就是数据库 SQL 语⾔层⾯的代码封装与重⽤。
存储过程就是数据库中的函数
2、优缺点
优点
存储过程可封装,并隐藏复杂的商业逻辑。
存储过程可以回传值,并可以接受参数。
存储过程⽆法使⽤ SELECT 指令来运⾏,因为它是⼦程序,与查看表,数据表或⽤户定义函数不同。
存储过程可以⽤在数据检验,强制实⾏商业逻辑等。
好看登录界面
缺点
存储过程,往往定制化于特定的数据库上,因为⽀持的编程语⾔不同。当切换到其他⼚商的数据库系统时,需要重写原有的存储过程。
存储过程的性能调校与撰写,受限于各种数据库系统。
3、语法结构俄罗斯乌克兰死亡人数
delimiter  $$  //声明语句开始
create procedure name(参数)//声明存储过程
begin  //存储开始
汇编语言的四种主要类型
....mysql查看所有存储过程
end  //存储结束
delimiter  ;声明语句结束
4、实例
delimiter  $$
create procedure in10(in p_name char(10),in p_scroe int)
begin
create table if not exists sg(name char(10),scroe int(4));
insert into t values (p_name,p_scroe);
select name,scroe,case when scroe >=70 then '合格'
else '不合格'
end as 成绩 from t;
end $$
delimiter ;
theater用英语怎么说
⼆、存储过程的参数
1、分类
MySQL存储过程的参数⽤在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式如:
CREATEPROCEDURE 存储过程名([[IN |OUT |INOUT ] 参数名数据类形...])
IN 输⼊参数:表⽰调⽤者向过程传⼊值(传⼊值可以是字⾯量或变量)
OUT 输出参数:表⽰过程向调⽤者传出值(可以返回多个值)(传出值只能是变量)。因为out是向调⽤者输出参数,不接收输⼊的参数INOUT 输⼊输出参数:既表⽰调⽤者向过程传⼊值,⼜表⽰过程向调⽤者传出值(值只能是变量)
declare: 在存储过程中加变量要声明 declare
var:局部变量,只能在存储过程中使⽤
2、MySQL存储过程的调⽤
⽤call和你过程名以及⼀个括号,括号⾥⾯根据需要,加⼊参数,参数包括输⼊参数、输出参数、输⼊输出参数。
3、MySQL存储过程的控制语句
有条件语句(if-then-slse、case)、循环语句(while…end while)等等
要在外⾯先创建⼀个表:create table cook(name char(10) not null,score int(5) not null,primary key (name));
delimiter $$
create procedure tt(in a char(10),in b int(5))
begin
if b>=60 then
insert into cook (q,w,e) values (a,b,'合格');
else
insert into cook (q,w,e) values (a,b,'不合格');
end if;
end $$
delimiter ;
call tt('zhangsan',44);
4、MySQL存储过程的修改
alter procedure
计算器上xor怎么打更改⽤ CREATE PROCEDURE 建⽴的预先指定的存储过程,其不会影响相关存储过程或存储功能。
5.MySQL存储过程的删除
drop procedure

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。