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????
...全文
98 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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