IT袋

当前位置:主页 > 经验教程 > 建站编程 >

mysql存储过程写法

mysql存储过程写法 创建一个简单的存储过程

更新:2023-08-28 13:28:08 来源:IT袋 作者:苏晓敏
导读:mysql存储过程写法,小编带来的是mysql存储过程写法和创建一个简单的存储过程方面的知识,接下来IT袋带大家一起了解。 一、简介 简单记录一下存储过程的使用。存储过程是预编译SQL语句集

mysql存储过程写法

小编带来的是mysql存储过程写法和创建一个简单的存储过程方面的知识,接下来IT袋带大家一起了解。

一、简介

简单记录一下存储过程的使用。存储过程是预编译SQL语句集合,也可以包含一些逻辑语句,而且当第一次调用存储过程时,被调用的存储过程会放在缓存中,当再次执行时,则不需要编译可以立马执行,使得其执行速度会非常快。

二、使用

创建格式 create procedure 过程名( 变量名 变量类型 )as begin …….. end

mysql存储过程写法

create procedure getGroup(@salary int)asbegin SELECT d_id AS '部门编号', AVG(e_salary) AS '部门平均工资' FROM employeeGROUP BY d_id HAVING AVG(e_salary) > @salaryend

mysql存储过程写法

调用时格式,exec 过程名 参数

exec getGroup 7000

三、在存储过程中实现分页

3.1 要实现分页,首先要知道实现的原理,其实就是查询一个表中的前几条数据

select top 10 * from table --查询表前10条数据 select top 10 * from table where id not in (select top (10) id from tb) --查询前10条数据 (条件是id 不属于table 前10的数据中)

3.2 当查询第三页时,肯定不需要前面20 条件数据,则可以

select top 10 * from table where id not in (select top ((3-1) * 10) id from tb) --查询前10条数据 (条件是id 不属于table 前10的数据中)

3.3 将可变数字参数化,写成存储过程如下

mysql存储过程写法

create proc sp_pager( @size int , --每页大小 @index int --当前页码)asbegin declare @sql nvarchar(1000) if(@index = 1) set @sql = 'select top ' + cast(@size as nvarchar(20)) + ' * from tb' else set @sql = 'select top ' + cast(@size as nvarchar(20)) + ' * from tb where id not in( select top '+cast((@index-1)*@size as nvarchar(50))+' id from tb )' execute(@sql)end

相关阅读

  • 网页设计教程培训 学生个人网页制作html

    网页设计教程培训 学生个人网页制作html

    一篇很详细的教程是关于网页设计教程培训和学生个人网页制作html的IT知识,请看下面详细的介绍。 网页设计在生活中的作用越来越大,那么对于想要进军网页设计的人肯定想要知道学网页设

  • html成品网站在哪 在线生成html网页

    html成品网站在哪 在线生成html网页

    IT袋网为你介绍html成品网站在哪和在线生成html网页的IT知识,请看下面详细的介绍。 精选13个HTML5学习必备网站 Tim.D⛄ 少先队科技 产品经理 5小时前 给大家推荐一下学习研究HTML5必备的一些个

  • 数据库怎么创建查询 数据库零基础入门教学

    数据库怎么创建查询 数据库零基础入门教学

    这些知识你了解吗?数据库怎么创建查询和数据库零基础入门教学的话题,一起来看看吧! PostgreSQL 是最灵活的数据库之一,并且它是开源的。 数据库是以一种有组织且灵活的方式存储信息的

  • 电脑网站打不开是怎么回事 详解网站进不去的原因

    电脑网站打不开是怎么回事 详解网站进不去的原因

    为大家分享电脑网站打不开是怎么回事和详解网站进不去的原因的相关经验,接下来就是全面介绍。 在网上冲浪时,我们可以看到各式各样的网站、网页,在万物互联的当下,上云和网站搭建