如下:
declare @fields varchar(256)
set @fields = 'field1,field2,field3,field4'
declare cur cursor for select * from table --表中栏位数为四个
open cur
  fetch next from cur into @fields --为何不可以使用变量,此处的栏位我想动态产生.
  ...
  ...
close cur
deallocate cur望各位高手帮帮忙

解决方案 »

  1.   

    declare @field1 varchar(20)
    declare @field2 varchar(20)
    declare @field3 varchar(20)
    declare @field4 varchar(20)declare cur cursor for select * from table --表中栏位数为四个
    open cur
      fetch next from cur into @field1,@field2,@field3,@field4
    close cur
    deallocate cur
      

  2.   

    open cur
      fetch next from cur into @field1,@field2,@field3,@field4
      ---问题是,这几个@field1,@field2,@field3,@field4是动态变动的,有可能下一次数目为5或10
      ---那么 into后面的字串必须通过变量来传递...我试了.,但是数据库将 @fields 当作一个字
      ---段来用
    close cur
      

  3.   

    既然into后面的列是变动的
    那么 你的select 后面其不是也是变动的前面怎么做??
    呵呵