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

餐饮加盟网站模板长春seo代理

餐饮加盟网站模板,长春seo代理,图木舒克市建设局网站,北京网站模板文章目录 简介存储过程的形式定义一个存储过程使用delimiter定义语句结束符存储过程中的三种参数类型流控制语句 存储过程的优缺点参考文献 简介 存储过程Stored Procedure#xff0c;SQL中的另一个重要应用。 前面说的视图#xff0c;只能勉强跟编程中的函数相似#xff… 文章目录 简介存储过程的形式定义一个存储过程使用delimiter定义语句结束符存储过程中的三种参数类型流控制语句 存储过程的优缺点参考文献 简介 存储过程Stored ProcedureSQL中的另一个重要应用。 前面说的视图只能勉强跟编程中的函数相似存储过程更进一步逼近了函数这一概念。 视图仍然局限在SQL语句这个范畴但是存储过程已经可以进一步使用控制语句了。或许存储过程可以视为是视图的更进一步 存储过程是由SQL语句和流控制语句组成的语句集合和函数一样它可以接收输入参数也可以把结果返回。一旦存储过程被创建出来使用它就像使用函数一样简单直接调用存储过程名就可以。 先简单看了一下存储过程究竟是什么该怎么用给我的感觉是存储过程就是遵循模块化编程的指导思想下的一个比较简陋的产品。 按教程的内容本节将主要介绍以下部分 存储过程的形式存储过程中各组成部分的介绍存储过程的优缺点。 存储过程的形式 定义一个存储过程 create procedure 存储过程名称([参数列表]) begin需要执行的语句 end和视图一样删除存储过程是drop procedure更新存储过程是alter procedure。 举一个例子写一个简单的存储过程计算123…n等于多少。 delimiter // create procedure add_num(IN n INT) begindeclare i int;declare sum int;set i1;set sum0;while i n doset sum sum i;set i i1;end while;select sum; end // delimiter ;使用delimiter将’//‘作为整个存储过程的结束符号并在最后将结束符重新定义回默认的’;’ 然后我们需要计算1到50的累加之和时只需要调用call add_num(50);即可。 使用delimiter定义语句结束符 以MySQL举例如果使用Navicat这种图形化工具来编写存储过程的话是不需要手动定义delimiter的navicat会自己加。 但是如果你使用的工具没有提供这个功能或者是你直接在后台手敲的那么你需要显式用delimiter来定义结束符。 那么为什么要定义语句结束符呢 这是因为默认情况下MySQL使用分号即;来作为结束符。 这样的话在存储过程中的每一行SQL语句之后加分号就相当于告诉SQL解释器这一行已经结束了可以执行这一句了。 但是有时候我们不希望SQL这样做存储过程是一个整体我们更希望存储过程整段一起执行所以我们需要临时定义新的delimiter比如说’//或者’$$‘。 存储过程中的三种参数类型 分别是IN、OUT、和INOUT型。 IN在存储过程中不能返回即存储过程之外无法调用到in类型的参数但是out和inout是可以调到的。 create procedure func(out max_hp float,out min_hp float,s varchar(255) ) beginselect max(hp), min(hp)from heroswhere role_categorysinto max_hp, min_hp; end可以看到定义了两个out类型的参数用来接收返回值定义了一个参数s用来接收输入缺省情况下是IN参数。 那怎么读取到存储过程返回的结果呢 call func(max_hp, min_hp, 战士); select max_hp, min_hp;就可以把结果打印出来了。 流控制语句 常用的流控制语句有 begin…end表示存储过程的范围有点像编程里的花括号 declare声明变量用变量在使用前必须提前声明声明方式declare var_name var_type; set: 赋值语句用于变量赋值如set var_name value; select…into把查询结果存到out类变量中就是利用select来为变量赋值 if…then…elseif…then…else…endif; case: casewhen 表达式1 then...when 表达式2 then...else... endLOOP、leave、iterateLOOP是循环语句类似for循环。leave中止本层循环类似break。iterate中止本次循环类似continue repeat…until…end repeat有点类似编程里的do while语句。repeat是先执行一次循环然后until做表达式判断如果满足条件就退出(这里跟while是不同的)即走end repeat若条件不满足则继续执行循环直到满足条件 while…do…end while这个跟while没有区别满足条件就循环不满足就退出 存储过程的优缺点 当前对存储过程的使用一直都有争议。有些公司对大型项目要求使用存储过程但有些公司却明令禁止使用如阿里。 优点 一次编译多次使用。存储过程只在创建时执行编译之后都不需要再进行编译减少开发工作量。将代码封装成模块实际上是模块化编程思想。这样多个模块之间可以重复使用而且也方便复杂查询的拆解。安全。可以设定哪些用户可以使用存储过程。减少网络传输量。连接一次数据库执行整个存储过程即可不需要多次连接数据库一行一行执行代码。 缺点 可移植性差。无法跨数据库移植。调试困难。多数DBMS不支持存储过程的调试所以对于复杂的存储过程其开发和维护都相当困难。版本管理困难。存储过程本身没有版本控制在迭代更新时会比较麻烦。另外存储过程很容易失效比如说数据表索引发生变化时可能会导致失效不适合高并发。对于分库分表的并发查询很难维护。 参考文献 13丨什么是存储过程在实际项目中用得多么
http://www.hkea.cn/news/14459341/

相关文章:

  • 公司网站 数据库美食网站建设的必要性
  • 汉中城乡建设网站首页主页页面
  • 做汽车团购的网站建设wordpress 短信接口
  • 现在公众号做电影网站的发展logo设计免费软件
  • 信阳网站建设的费用搜狗网站seo
  • 做网站 上海专做律师网站
  • 楚雄网站建设rewlkj做网站赚外快
  • 江西省建设工程协会网站查询广州的公司有哪些
  • 南通市城乡和住房建设局网站北京网站seo技术厂家
  • 网站开发总监服务类型的网站怎么做
  • 昆明驿站网站建设怎么在虚拟空间做两个网站
  • 网站的类型平台网站建设预算表
  • 怎么0成本做网站杭州网站做的好公司哪家好
  • 站长工具服务器查询德阳网站开发熊掌号
  • 网站开发参考文献2016世界工厂采购网官网
  • 企业网站建设报价单网站建设方面论文
  • 网站优化怎么样做公司名字大全必过
  • 网站建设自我评价怎么写比较好成都91获客
  • 思明自助建站软件wordpress renderview
  • 网页浏览河南关键词优化搜索
  • 慈溪市网站建设媒约网网址是多少
  • 企业营销网站建设价格wordpress wordapp插件
  • 建设网站所有步骤海口h5建站模板
  • 惠州外贸网站建设公司上海企业网络推广公司
  • 江桥做网站百度资源分享网
  • 上海企业专属网站建设平台wordpress读者墙插件
  • 太原建设北路小学网站网站推广排名优化多少钱
  • 温州网站建设seo深圳网站建设熊掌号
  • 地方商城网站网站制作需要多少钱新闻
  • 有自己域名如何做网站免费装饰公司网站模板