日期:2014-05-18  浏览次数:20641 次

问个提取一张表中的记录问题
大家都知道可以用游标来提取一张表中的某一记录
fetch   first   mycousor   into   @a,@b,@c....

这样是已经知道这个游标所对应的表,有哪些字段

要是事先不知道某一张表的具体结构     就是说不知道表有哪些字段的情况下   又该怎么提取数据,然后把各个字段内容全部变成varchar类型,合并在一个varchar类型的变量中
??????????????????????

------解决方案--------------------
declare @table sysname
set @table = 'sysobjects '
declare @cols varchar(1000)
select @cols = coalesce(@cols+ '+cast( ', 'cast( ')+name+ ' as varchar) ' from syscolumns where id=object_id(@table)
print @cols
exec ( 'declare mycousor cursor for select '+@cols+ ' from '+@table)
declare @a varchar(8000)
open mycousor
fetch next from mycousor into @a
print @a
close mycousor
deallocate mycousor

------解决方案--------------------
要是事先不知道某一张表的具体结构 就是说不知道表有哪些字段的情况下
---------------------------------------
各种数据库都可以查询某表的表结构的,先查一下~