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











 修改存储过程


保存储存过程




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值