当前位置: 首页 > news >正文

部门网站建设内容方案自己创建个人免费网站

部门网站建设内容方案,自己创建个人免费网站,天津网站建设模板,36氪 wordpress 模板存储过程 存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是…

存储过程

存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用
  1. 封装,复用, 可以把某一业务SQL封装在存储过程中,需要用到的时候直接调用即可。
  2. 可以接收参数,也可以返回数据再存储过程中,可以传递参数,也可以接收返回值。
  3. 减少网络交互,效率提升如果涉及到多条SQL,每执行一次都是一次网络传输。 而如果封装在存储过程中,我们只需要网络交互一次可能就可以了。

基本语法

创建

CREATE PROCEDURE 存储过程名称 ([ 参数列表 ])
BEGIN
-- SQL 语句
END ;
-- 创建DELIMITER $  #将语句的结束符号从分号;临时改为两个$(可以是自定义)CREATE PROCEDURE p1()
BEGINselect count(*) from stu;
END $DELIMITER ;  #将语句的结束符号恢复为分号

调用

call p1();

查看

show create procedure p1;

删除

drop procedure if exists p1;

带参数 

MySQL存储过程的参数用在存储过程的定义,共有三种参数类型,IN,OUT,INOUT,形式

  • IN 输入参数:表示调用者向过程传入值(传入值可以是字面量或变量)
  • OUT 输出参数:表示过程向调用者传出值(可以返回多个值)(传出值只能是变量)
  • INOUT 输入输出参数:既表示调用者向过程传入值,又表示过程向调用者传出值(值只能是变量)

in类型

DELIMITER $CREATE PROCEDURE p2(in myid int)
BEGINselect * from stu where id=myid;
END $DELIMITER ;

调用call p2(1);

char类型的参数

DELIMITER $CREATE PROCEDURE p2(in myname VARCHAR(255))
BEGINset @sql = 'select * from stu where name = ?';  -- 拼接查询总记录的SQL语句 prepare stmt from @sql; -- 预定义一个语句,并将它赋给 stmtset @a=myname;execute stmt using @a; -- 执行语句带参数,有其他参数加,分开deallocate prepare stmt;-- 要释放一个预定义语句的资源
END $DELIMITER ;

 调用

out类型

DELIMITER $CREATE PROCEDURE p3(out result int)
BEGINset result=1;
END $DELIMITER ;

调用,传入一个无初始化的变量

结果 

inout类型

DELIMITER $CREATE PROCEDURE p4(inout result int)
BEGINset result:=result+1;
END $DELIMITER ;

调用,传入一个初始化的变量result,查看输出结果result

存储函数

存储函数是有返回值的存储过程,存储函数的参数只能是IN类型的。具体语法如下

CREATE FUNCTION 存储函数名称 ([ 参数列表 ])
RETURNS type [characteristic ...]
BEGIN-- SQL语句RETURN ...;
END ;

 characteristic说明

  • DETERMINISTIC:相同的输入参数总是产生相同的结果
  • NO SQL :不包含 SQL 语句。
  • READS SQL DATA:包含读取数据的语句,但不包含写入数据的语句。

DETERMINISTIC的存储过程

create function fun1(n int)
returns int deterministicbegindeclare total int default 0;while n>0 doset total := total + n;set n := n - 1;end while;return total;end;
select fun1(50);

READS SQL DATA的存储过程

create function fun2(id int(5))
returns varchar(50) reads sql data
beginDECLARE result VARCHAR(250);set result=CONCAT('SELECT * FROM stu WHERE stu.id=', id);return result;
end;select fun2(1)

NO SQL的存储过程 

CREATE FUNCTION fun3()
RETURNS VARCHAR(50) NO SQL
BEGINDECLARE result VARCHAR(50);SET result = 'Function';RETURN result;
END;
select fun3()

http://www.yayakq.cn/news/282547/

相关文章:

  • 大丰区城乡和住房建设局网站盘锦网站开发公司
  • qt做网站服务器挖矿网站怎么做
  • 做国外营销型网站微商城微网站开发
  • 热卖平台网站怎么做网站开发的职业目标
  • 滁州市建设局网站西安最新出行政策
  • 参与网站网站建设做网站的标题图片
  • 做软件常用的网站有哪些软件有哪些wordpress 模板添加图片
  • 网站多久会被百度收录wordpress广告代码是什么
  • 毕业答辩问题怎么做的这个网站网站用图怎么做文件小质量高
  • 备案 网站下线深圳西丽网站建设公司
  • 大连网站前端制作公司山东诚祥建设集团公司网站
  • 做软件网站郑州联通网站备案
  • 如何建设公司网站信息苏州智能网站建设
  • 网站做2微码论坛式网站建设
  • 辽宁省住房和城乡建设厅证件查询搜索引擎优化的方法和技巧
  • 青白江建设网站会议响应式网站开发
  • 网站建设比赛三种常用的网站设计软件
  • 妇幼医院网站建设方案桓台网站建设
  • 皋兰网站建设平台遂溪手机网站建设
  • 利辛网站建设无限空间 网站
  • 网站建设佰首选金手指六vultr搭建wordpress
  • 长寿网站制作怎么做网站教程简单
  • 做网站交付标准企业邮箱登录
  • 做外贸网站怎么设计国外交易平台有哪些
  • 国外做网站推广实实通信的视频网站怎么做
  • 专业的丹徒网站建设互联网营销行业
  • 手机建行网站介绍一种网络营销方式
  • 网站在备案期间怎么建设wordpress适合下载站的主题
  • 方一凡和磊儿做家教的网站互联网服务平台单位机动车二维码
  • fr后缀网站网站淘宝客 没备案怎么做