微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sqlserver 2008 全套6 存储过程

第九章 存储过程


------1 存储过程简介

-----2 创建存储过程
--创建无参
--create procedure proc_1
create proc proc_1
as
select * from sumdaysales
--调用
exec proc_1

--带参数
create proc proc_2
@store varchar(10)
as
select * from sumdaysales where store=@store

exec proc_2 @store='SE47'
-----2 使用带认值的参数
create proc proc_3
@store varchar(10)='SE47',@NB int
AS
select * from sumdaysales where store=@store and NB<@NB

exec proc_3 @NB=14

exec proc_3 @store='SS4N',@NB=8

--exec proc_3 @store IN('SS4N','SE47'),@NB=8 Error

--------4 使用输出参数
create proc proc_4
@store varchar(10),@NB int output
as
select * from sumdaysales where store=@store

declare @xxxx int  ---声明输出参数
exec proc_4 @store='SE47',@NB=@xxxx output
print @xxxx

--------5 存储过程示例
--DROP proc proc_5
create proc proc_5
@store varchar(10),@nb int
as

update sumdaysales set NB=@nb where store=@store and outdate='20141102'

 exec proc_5 @nb=100000,@store='SE47'
 
 select * from sumdaysales where store='SE47'
 
-------------- 6 修改存储过程
--选中存储过程右键--》修改

--------------- 7 删除存储过程
---右键-->删除
DROP proc proc_5


--------------- 8 设计存储过程的规则

--------------- 9 系统存储过程
exec sp_who

exec sp_helpdb Cognos --数据库信息

exec sp_helpdb

exec sp_monitor   --系统使用情况

--------------- 10 临时/全局 存储过程 类似临时表
--临时
create procedure #proc_6
as
select * from sumdaysales where store='SE47'
ORDER by NB desc

exec #proc_6  --只能在本查询中用 新建查询就不行

--全局 对当前连接有效
create procedure ##proc_7
as
select * from sumdaysales where store='SE47'
ORDER by NB desc

exec ##proc_7

----------------11 嵌套存储过程
--proc_3 返回nb小于传入值的信息
--DROP PROC proc_7
create proc proc_7
as
select * from sumdaysales
exec proc_3 @NB=100

exec proc_7  --返回select * from sumdaysales 和proc_3的数据


-----------查看存储过程
exec sp_helptext proc_3











 修改存储过程


保存储存过程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐