存储过程知识点(实例)

1.带时间参数的存储过程

create proc dbo.aaaa
@type nchar(2),
@id varchar(15),
@BeginDate smalldatetime,
@EndDate
smalldatetime
as
begin

 
 declare @sql nvarchar(4000),@GID int,@OfficeID varchar(20)
 select @sql=
'select id as 编号,name as 姓名, case sex when 1 then ''女'' else ''男'' end as 性别,
                      inputTime as 登记日间 from a# where deleted=0'

 select @GID=gid from  b#
 select @OID=oid from b#
 if(@type='a')
  select @sql=@sql+N' and id='''+@id+
'''' 
 
else
   select
@sql=@sql+' and OID='''+@OID+''' and GID='+cast( @GID as varchar(10)) ;
 select  @sql=@sql+
' and inputTime between  @BeginDate and @EndDate order by ID'
 print @Sql

 exec sp_Executesql @Sql,N'@BeginDate smalldatetime,@EndDate malldatetime',@BeginDate,@EndDate

end

2.带OUTPUT的存储过程

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go

create proc dbo.GetList
 @Id int,  
 @NumRows int output
AS
BEGIN  
SET NOCOUNT ON;  

declare @sqlCount nvarchar(4000)    
set @sqlCount='select @NumRows=count(*) from A'
exec sp_executesql @sqlCount,N '@NumRows int output',@NumRows output
 END

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值