使用Cursor 这样应该行:declare @str nvarchar(8000) declare @name nvarchar(100) declare Cur_Value Cursor for select name fromt table1open Cur_Value fetch next from Cur_Value into @name while @@fetch_status=0 begin set @str=@str+@name+',' fetch next from Cur_Value into @name end close Cur_Value deallocate Cur_Value
sorry,漏了一个关键的地方,修正如下:declare @s varchar(8000) select @s = @s+','+name from table1 set @s=stuff(@s,1,1,'') select @s
sorry,漏了一个关键的地方,修正如下:declare @s varchar(8000) set @s = '' select @s = @s+','+name from table1 set @s=stuff(@s,1,1,'') select @s
用游标实现,游标内字符串的赋值语句是: select @s = @s+','+name from table1
--------
我试了不行啊,谢谢,请再看看~~~~
-------
谢谢.你那里只能获得一条记录的name,不能获得所有记录的name.....
谢谢
这样应该行:declare @str nvarchar(8000)
declare @name nvarchar(100)
declare Cur_Value Cursor for
select name fromt table1open Cur_Value
fetch next from Cur_Value into @name
while @@fetch_status=0
begin
set @str=@str+@name+','
fetch next from Cur_Value into @name
end
close Cur_Value
deallocate Cur_Value
select @s = @s+','+name from table1
set @s=stuff(@s,1,1,'')
select @s
set @s = ''
select @s = @s+','+name from table1
set @s=stuff(@s,1,1,'')
select @s
select @s = @s+','+name from table1
的方法OK了.敬仰中......
我菜,学习游标是好事,不过这里用它的话会效率有影响吧?
至于效率,数量不是很大的情况下基本没有什么影响的.