declare @pTempi...... //这应该有个限制,不然没法写了
declare @Num,@i int
set @i=1
select @num=pTemp+i //获取个数
declare @str1,@str2 varchar(1000)
set @str1=''
set @str2=''
if @num=1 //当只有一个时,简单,就不写了
begin
end
else //当有多个变量时
begin
while(@i<@num)
begin
set @str1=@str1+'pTemp'+cast(@i as varchar)+','
set @str2=@str2+'@pTemp'+cast(@i as varchar)+','
set @i=@i+1
end
set @str1=@str1+'pTemp'+cast(@i as varchar)
set @str2=@str2+'@pTemp'+cast(@i as varchar)
end
exec('declare mycur cursor for select '+@str1+' from table1 ')
exec('fetch next from mycur into '+@str2)
你试试吧!