SQL里面可以设置动态参数嘛?急20分

haiziqi 2004-04-30 11:39:28
我在存储过程中要使用大量的参数
由于给这些参数赋值需要动态条件,所以想问有没有动态参数设置

例如:
DECLARE @c0 INT
DECLARE @c1 INT
DECLARE @c2 INT
DECLARE @c3 INT
DECLARE @c4 INT
DECLARE @c5 INT

DECLARE @i INT
DECLARE @j INT

SELECT @j=0

WHILE @j < @i
BEGIN
SELECT @c* =(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @j=@j+1
END

*号的地方 能否动态的显示为 0、1、2、3、4????
...全文
68 3 点赞 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
haiziqi 2004-04-30
哦,谢谢啦
  • 打赏
  • 举报
回复
netcoder 2004-04-30
DECLARE @c0 INT
DECLARE @c1 INT
DECLARE @c2 INT
DECLARE @c3 INT
DECLARE @c4 INT
DECLARE @c5 INT

DECLARE @i INT
DECLARE @j INT

declare @sql varchar(8000)
SELECT @j=0
select @i=10

WHILE @j < @i
BEGIN
set @sql ='SELECT @c'+ cast(@j as varchar) +'=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)'
print @sql
--exec (@sql)
SELECT @j=@j+1
END



结果是
SELECT @c0=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c1=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c2=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c3=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c4=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c5=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c6=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c7=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c8=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
SELECT @c9=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)
  • 打赏
  • 举报
回复
netcoder 2004-04-30
DECLARE @c0 INT
DECLARE @c1 INT
DECLARE @c2 INT
DECLARE @c3 INT
DECLARE @c4 INT
DECLARE @c5 INT

DECLARE @i INT
DECLARE @j INT

declare @sql varchar(8000)
SELECT @j=0
select @i=10

WHILE @j < @i
BEGIN
set @sql ='SELECT @c'+ cast(@j as varchar) +'=(SELECT COUNT(*) FROM 表 WHERE 条件=@j)'
exec (@sql)
SELECT @j=@j+1
END
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2004-04-30 11:39
社区公告
暂无公告