存储过程的创建与调用

   日期:2020-05-22     浏览:90    评论:0    
核心提示:存储过程的含义主要事例**含义:**存储过程是一个预编译的SQL语句,优点是允许模块化的设计,成功创建后可多次调用。**优点:**进行多次查询时,存储过程比SQL语句执行要快。**调用的方法:**EXEC 存储过程名称 参数具体事例:两个表,分明为books,booktypes表中字段:id,name,remark,typeid,typename表中字段:id,name,nums1:不带参数的存储过程的创建和调用–创建存储查询数据create proc cp_select_book.

含义:存储过程是一个预编译的SQL语句,优点是允许模块化的设计,成功创建后可多次调用。

优点:进行多次查询时,存储过程比SQL语句执行要快。

调用的方法:EXEC 存储过程名称 参数

具体事例:

两个表,分明为books,booktypes
表中字段:id,name,remark,typeid,typename

表中字段:id,name,nums

1:不带参数的存储过程的创建和调用
–创建存储查询数据

create proc cp_select_book_byName
as
  select * from books

``--调用存储过程
  exec cp_select_book_byName
`

2:带输入参数的存储过程的创建和调用

go
create proc cp_select_book_byNamecs
(
 @name varchar(50)
)
as
 select * from books where name like '%'+@name+'%'

--调用
 exec cp_select_book_byNamecs 'm'

3:带输出参数的存储过程的创建和调用
–根据名称查询,返回记录,同时返回记录数

create proc cp_select_byNameExt(
    @name varchar(50),
	@roccordRows int out

)
as
  select * from books where name like '%'+@name+'%'
  select @roccordRows=COUNT(*) from books
--调用
--定义一个变量,接收返回参数@roccordRows的值
declare @rs int 
exec cp_select_byNameExt'三国',@rs out
print '查询的记录数是:'+convert(varchar(50),@rs)


4:简单的分页的存储过程的创建和调用
–根据名称,页码,每页显示条数 输入参数
–返回查询条件的总记录数 输出参数
–显示查询结果

create proc cp_select_count(
  @name varchar(50),
  @pageint int,
  @pageSize int,
  @roccordRows int out
)
as
select top (@pageSize) * from books 
where id not in(
select top (@pageSize*(@pageint-1)) id 
from books where name like '%'+@name+'%'
order by id
)
and name like  '%'+@name+'%' order by id 
select @roccordRows=COUNT(*) from books where name like  '%'+@name+'%'

--调用
declare @rs int 
exec cp_select_count'三国',1,5,@rs out
print '查询的记录数是:'+convert(varchar(50),@rs)


删除语句:
drop proc 存储过程名称

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服