美文网首页
存储过程和函数

存储过程和函数

作者: 小灰灰_5c75 | 来源:发表于2018-09-22 09:51 被阅读0次

存储过程

类似Java中的“方法”
好处:
1、 代码复用
2、 简化操作

存储过程:一组预先编译的SQL语句的集合,理解成批处理语句
减少编译过程,减少连接数据库次数,提高效率

一、 创建
Create procedure 存储过程名(参数列表)
Begin
存储存储体/方法体(SQL语句)
End
注意:
1、参数列表
参数模式 参数名 参数类型
例如: In stuname varchar(20)

参数模式:
In:参数可作为输入,调用方需要传入值
Out:参数可作为输出,参数可作为返回值
Inout:参数可做输入输出,该参数需要传入值,又可以返回值

2、begin end
如果存储过程只有一句话,begin end 可以不写
存储过程每条SQL语句结尾都要加分号
存储过程结尾使用delimiter重新设置:delimiter 结束标记
例如:delimiter $

二、 调用
Call 存储过程名(实参列表);

1、 空参列表
例如:
创建:
Delimiter 设置为结束标记
Create procedure mycc()
Begin
Sql语句
End $

调用:
Call mycc()$

2、 in模式过程存储过程
create procedure mycd(IN username varchar(20),IN userage int,…)
begin
declare result int dafault 0; 声明并初始化
sql语句(IN中的username是局部变量可直接用于where筛选条件)

select if (result>0,’成功’,’失败’); 使用变量
end $

调用:(字符集错误更换字符集即可(set names gbk 等))
Call mycc(‘lgh’) $

3、 out模式存储过程
创建:
create procedure myce(IN username varcher(10),OUT name varchar(20))
begin
select 表.name into name
sql语句
end $

调用:
Set @nameCall myce(‘lgh’,@name)
Select @name $

4、 inout模式存储过程
创建:
create procedure mycf(INOUT a int,INOUT b int)
begin
set a= a2;
set b=b
2;
end $

调用:
Set @a=10 Set @b=11
Call mycf(@a,@b) Select @a,@b

三、 删除存储过程
Drop procedure 单个存储过程名;

四、 查看存储过程名
Show create procedure 存储过程名;

函数
区别:
存储过程可有若干返回,适合批量插入和更新
函数有且仅一个返回,适合做数据处理

一、创建语法
Create function 函数名(参数列表) returns 返回类型
Begin
函数体(最后要有return 语句)
End
参数列表可为空

例如:
Create function myf1(num1 float,num2 float) returns float
Begin
declear

仅有一句话时可省略begin and
使用delimiter语句设置结束标记

二、调用语法
Select 函数名(参数列表)

三、查看函数
Show create function 函数名;

四、删除
Drop function 函数名;

相关文章

  • 深入浅出MySQL之开发篇(二)

    继续深入了解MySQL的高级特性。 1.存储过程和函数 什么是存储过程和函数 存储过程和函数是事先经过编译并存储在...

  • MySQL 视图和存储程序

    MySQL 视图和存储程序 存储程序:存储函数、存储过程、触发器和事件的总称。 存储例程:存储函数+存储过程。 触...

  • PL/SQL之存储过程

    存储过程、存储函数和触发器 存储过程和存储函数定义:指存储在数据库中供所有用户程序调用的子程序叫存储过程或存储函数...

  • Oracle之存储过程与存储函数

    存储过程和存储函数指存储在数据库中供所有用户程序调用的子程序叫存储过程或者存储函数;存储过程和存储函数相同点:完成...

  • mysql基础(三)

    存储过程和函数 存储过程和函数的引入 存储过程和函数是在数据库中定义一些 SQL 语句的集合,然后直接调用这些存储...

  • mysql的存储过程及其使用场景,和存储函数的区别

    简单了解什么是存储过程,以及存储过程的使用场景,和存储函数、触发气的区别: 存储过程,存储函数,触发器和事件是自从...

  • 存储过程和函数

    存储过程 类似Java中的“方法”好处:1、 代码复用2、 简化操作 存储过程:一组预先编译的SQL语句的集合...

  • 存储过程和函数

    存储结构一般用来插入更新数据函数用来查询 一、 创建存储结构 参数别表填写规则IN 名字 类型OUT 名字 类型 ...

  • 存储过程和函数

    存储过程和函数:类似于java中的方法好处:1、提高代码的重用性2、简化操作 存储过程 含义: 一组预先编译好的S...

  • 存储过程和函数

    1,存储过程一组预先编译好的sql语句1)创建语法create procedure 存储过程名(参数列表)be...

网友评论

      本文标题:存储过程和函数

      本文链接:https://www.haomeiwen.com/subject/vlbtoftx.html