存储过程的知识

什么是存储过程

存储过程是一个预编译的SQL语句,允许模块化设计,只需创建一次就可多次使用,如果某次操作需要执行多次SQL语句,使用存储过程比单纯的SQL语句执行要快

存储过程的调用方法

可以用一个”execute存储过程名 参数”命令用来调用存储过程

存储过程的优点和缺点

优点:响应时间上来说有优势,可以给我们带来运行效率的提高的好处,且使用存储过程的系统更加稳点
缺点:维护性较差,相对于简单的SQL,存储过程并没有什么优势,并且在进行调试时比较困难

存储过程和触发器的区别

触发器与存储过程主要区别于触发器的运行方式。存储过程必须要用用户、应用程序或者触发器来显示调用并执行,而触发器是当特定时间出现的时候,自动执行或者激活的,与连接用数据库中的用户
或者应用程序无关

存储过程与函数的区别

存储过程是用户定义的一系列SQL语句的集合,而函数通常是数据库定义的方法,具体区别如下
1,对于存储过程来说可以返回参数,而函数只能返回或者表对象
2,函数必须有返回值吗,存储过程可有可无
3,存储过程一般是作为一个独立的部分来执行的,而函数可以作为查询语句的一个部分来调

存储过程的语法示列

-存储过程是创建和调用
–系统自带的,
–自定义的

–1.不带参数的存储
–创建存储根据名称查询

create proc cp_select_book_byName
as select * from books
--调用
exec  cp_select_book_byName
--修改
alter proc  --存储过程的名字
as
--语句

--删除
drop proc --存储过程的名字

–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带参数的存储过程是创建和调用
–根据参数返回记录和记录数

  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(5),@rs)

  --4.简单的分页和存储过程的创建和调用
  --根据名称,页码,每页显示条数 --输入参数
  --返回查询的条件的总记录数--输出参数
  --显示查询结果
	  create proc cp_page
	  (
	  @name varchar(50),
	  @pageIndex int,
	  @pageSize int,
	  @rs int out
	  
	  )
	  as
	  2,5,三国
	  select top (@pageSize)* from books
	  where id ont in(
	      select top (@pageSize*(@pageInde-1)) id books where name like '%'+@name+'%'
		  order by id 
	  )
	  and name like'%'+@name+'%' order by id
	  select @rs =count(*) from books where name like'%'+@name+'%'
	  --调用
	  declare @rows int 
	  exec  cp_page '开元',1,5,@rows out 
	  print @rows

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小六妹妹

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值