学习笔记–存储过程的创建和调用

定义
存储过程是一个预编译的SQL语句,优点是允许模块化的设计,就是说只需创建一次,以后在程序中就可以调用多次。如果某次操作需要执行多次SQL,使用存储过程比单纯SQL语句执行要快。可以用一个“execute 存储过程名 参数”命令来调用存储过程。
优点
一次创建多次调用,执行效率高
基本操作
1.–新增 create proc 存储名
2.–修改 alter proc 存储名
3.–删除 drop proc 存储名
具体代码

--1,不带参数的存储过程的创建和调用*
--创建存储查询数据
create proc cp_select_book
as
select * from books
--调用
exec cp_select_book
--2,带输入参数的存储过程的创建和调用
--根据名称查询
go
create proc cp_select_book_byName
(
@name varchar(50)
)
as
select * from books where name like'%'+@name+'%'
--调用
exec cp_select_book_byName'海底'
--3,带输出参数的存储过程的创建和调用
--根据名称查询,返回记录,同时放回记录数
go
create proc cp_select_books_byNameExt
(
@name varchar(50),
@recordrows int out--输出类型
)
as
select * from books where name like '%'+@name+'%'
select @recordrows=count(*) from books
--调用--定义一个变量,接收返回参数 @recordrows 的值declare @rs int
exec cp_select_books_byNameExt'海底',@rs out
print '查询的记录数是:'+ convert (varchar(50),@rs)
--convert  转换类型
--4,简单分页的存储过程的创建和调用
--根据名称,页码,每页显示条数--输入参数
--返回查询条件的总记录数 --输出参数
--现实查询结果
go
create proc cp_page
(
@name varchar(50),
@pageIndex int,--页码
@pageSize int,--每页显示条数
@rs int out --总记录数
)
as
select top(@pageSize)* from books
where  id not in(
select top(@pageSize*(@pageIndex-1)) id
from books where name like '%'+@name+'%'
order by id
)
and name like '%'+@name+'%' order by idselect @rs =count(*) from books where name like '%'+@name+'%'

学习笔记--存储过程的创建和调用相关推荐

  1. 【opencv学习笔记八】创建TrackBar轨迹条

    createTrackbar这个函数我们以后会经常用到,它创建一个可以调整数值的轨迹条,并将轨迹条附加到指定的窗口上,使用起来很方便.首先大家要记住,它往往会和一个回调函数配合起来使用.先看下他的函数 ...

  2. ROS学习笔记八:创建ROS msg和srv

    ROS学习笔记八:创建ROS msg和srv 本节主要讲述了如何创建和建立ROS msg和srv,同时使用命令行工具rosmsg.rossrv和roscp. msg和srv简介 msg:描述ROS m ...

  3. MySQL存储过程的创建及调用

    阅读目录:MySQL存储过程_创建-调用-参数 存储过程:SQL中的"脚本" 1.创建存储过程 2.调用存储过程 3.存储过程体 4.语句块标签 存储过程的参数 1.in:向过程里 ...

  4. wpf mysql存储过程_MySQL存储过程的创建及调用

    # SQL语句:先编译后执行 存储过程(Stored Procedure): 一组可编程的函数,是为了完成特定功能的SQL语句集,经编译创建并保存在数据库中,用户可通过指定存储过程的名字并给定参数(需 ...

  5. python数据挖掘学习笔记】十四.Scipy调用curve_fit实现曲线拟合

    #2018-03-28 10:02:08 March Wednesday the 13 week, the 087 day SZ SSMR python数据挖掘学习笔记]十四.Scipy调用curve ...

  6. Linux学习笔记---使用BusyBox创建根文件系统(四)

    目录 软件运行测试 设置程序为后台运行 设置开机自启动 外网连接测试 软件运行测试 进入到rootfs文件夹中新建一个drivers文件夹,用于存放编写的软件. 新建hello.c文件 输入以下代码 ...

  7. Linux学习笔记---使用BusyBox创建根文件系统(三)

    目录 创建/etc/init.d/rcS 文件 创建/etc/fstab 文件 创建/etc/inittab 文件 创建/etc/init.d/rcS 文件 通过nfs加载根文件系统成功后,在串口终端 ...

  8. Linux学习笔记---使用BusyBox创建根文件系统(二)

    目录 向 rootfs 的"/lib "目录添加库文件 向 rootfs 的usr/lib 目录添加库文件 创建其他文件夹 根文件系统初步测试 向 rootfs 的"/l ...

  9. Linux学习笔记---使用BusyBox创建根文件系统(一)

    目录 下载BusyBox 修改makefile 添加中文支持 编译busybox 下载BusyBox BusyBox 可以在其官网下载到,官网地址为:https://busybox.net 打开官网后 ...

最新文章

  1. 9文一览:近期必读微生物组生信论文
  2. 车道线检测--End-to-end Lane Detection through Differentiable Least-Squares Fitting
  3. python开发的软件sparrow-黑客常用wifi蓝牙分析攻击工具,让你的设备陷入危险之中...
  4. 最新发布丨游戏市场“超预期”增长背景下,如何加速产品精品化 运营精细化?...
  5. SpringBoot+Mybatis加载Mapper.xml文件的两种方式
  6. (转)看盘ABC:看盘七大指标
  7. 计算机网络解释概念,2017年计算机三级网络技术基本概念与名词解释:计算机网络的基本概念...
  8. 函数的重载、覆盖和隐藏
  9. LInux安装mbedtls
  10. Java基础学习总结(165)——API 安全最佳实践
  11. volatile的深入理解--【sky原创】
  12. 模型压缩:Deep Compression
  13. 解决低版本IE关于html5新特性的兼容性问题html5shiv.js和Respond.js,以及excanvas.js解决低版本IE不支持canvas的问题...
  14. php excel 导入大量,用phpExcelReader不能导入大量数据解决办法
  15. 矩阵分解在推荐系统中的应用:NMF和经典SVD实战
  16. springmvc跨域资料收集
  17. 视频不显示的分析方法
  18. 又一打包工具介绍:Installshield 打包安装包心得
  19. breadweb控制台下载_路由器刷breed web控制台助手最新版
  20. python函数之任意数量的实参

热门文章

  1. Embedded statement cannot be a declaration or labeled statement 错误
  2. 倒计时案例 JavaScript
  3. 90后小伙利用支付宝漏洞被抓, 我为什么拍手叫好?
  4. 导数与微分、中值定理和导数应用、不定积分
  5. JS算法:洗牌算法(shuffle)
  6. http代理对于爬虫的重要性
  7. 奇异值分解算法java_AI数学基础之:奇异值和奇异值分解
  8. C++的.cpp文件
  9. 微信服务号及支付功能接入详解
  10. POJ 1835 宇航员_不见不散的结局是曲终人散_新浪博客