首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于存储过程的一个输入参数有关问题

2012-02-01 
关于存储过程的一个输入参数问题createproceduregetuseasset_one_month_rs@btimedatetime,@etimedatetime,

关于存储过程的一个输入参数问题
create   procedure   getuseasset_one_month_rs
@btime   datetime,
@etime   datetime,
@ids   int,
@count   int
as
select         top   @count             names,zcname,onemoney,times   from   useasset   where   times   between   @btime   and   @etime   and   ids=@ids   order   by   times   desc
go
想把   top   10     后面的数改为输入参数传,可编译不过,是那里错了呢?

[解决办法]
改正一下

alter procedure getuseasset_one_month_rs
@btime datetime,
@etime datetime,
@ids int,
@count int
as
declare @sql varchar(8000)
set @sql= '
select top '+rtrim(@count)+ ' names,zcname,onemoney,times from useasset where convert(char(10),times,120) between ' ' '+convert(char(10),@btime,120)+ ' ' ' and ' ' '+convert(char(10),@etime,120)+ ' ' ' and ids= '+rtrim(@ids)+ ' order by times desc '
print(@sql)
go

热点排行