求教一个SQL server存储过程。

ashhyc 2004-10-03 03:49:13
这个存储过程想实现:求一个表中的某字段值大于A1且小于A2的值的个数!
其中,表名,字段名,A1,A2都是存储过程的参数。
请问这个存储过程要怎么写?
...全文
103 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
leewy 2004-10-03
  • 打赏
  • 举报
回复
今天总算有收获了
谢谢 lxcc(虫子|需要点勇气和信心)
Cry_Out 2004-10-03
  • 打赏
  • 举报
回复
to : lxcc(虫子|需要点勇气和信心)
早点看到你这句就好了,前几天刚好用一个存储过程,差不多是这个问题,我是在
select top @value * from table 中使用,老是通不过,应该也差不多是这个原因吧,要先用str(@value),然后通过
declare @strtemp nvarchar(500)
select @strtemp=''
select @strtemp=@strtemp+'select top'
select @strtemp=@strtemp+str(@value)
....
最后:
exec(@strtemp)来执地语句的.

呵呵,学习....................
brightheroes 2004-10-03
  • 打赏
  • 举报
回复
但是楼主要保证这个字段的确可以这样操作
brightheroes 2004-10-03
  • 打赏
  • 举报
回复
agree with 虫子
join123myhao 2004-10-03
  • 打赏
  • 举报
回复
lxcc 2004-10-03
  • 打赏
  • 举报
回复
稍微改改dobly(塌实学习,诚以待人)的例子,存储过程不允许用参数作为表名,否则报错,具体可以试试!
可以
create procedure SelCount
@tablename varchar(30),
@fieldname varchar(50),
@A1 integer,
@A2 integer
as
Exec ("select count(*) from " + @tablename +
" where " + @fieldname + ">" + @A1 + " and " + @fieldname + "<" + @A2)
dobly 2004-10-03
  • 打赏
  • 举报
回复
create procedure
@tablename varchar(30),
@fieldname integer,
@A1 integer,
@A2 integer
as
select count(*) from @tablename where @fieldname>@A1 and @fieldname<@A2

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧