首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于SqlServer2000 临时表和行列转换的有关问题

2012-01-15 
关于SqlServer2000 临时表和行列转换的问题存储过程中定义一个@sqlvarchar(8000)里面放了一个select语句通

关于SqlServer2000 临时表和行列转换的问题
存储过程中
定义一个@sql   varchar(8000)里面放了一个select语句

通过参数拼凑where语句后执行     exec(@sql)返回一个结果集

然后对结果集的部分列进行行列转换,(需要转换成   列的     行数量是不固定的)

我是使用的是case语句进行转换

这样做需要把exe(@sql)的结果集存储在一个@TmpTable   table变量中
请教如何把exe(@Sql)的结果存储在这个表变量里呢?

或者大家有什么更好的办法进行处理呢?

[解决办法]
因为表变量受到自身所处有效范围的限制,用来存放不定行转列的语句执行的结果不太现实。
[解决办法]
用全域臨時表試試?
或者乾脆用個temp_t,最後drop 好了
[解决办法]
在临时表做一次中间转换.生成临时表后,然后处理数据集.
[解决办法]
放临时表就行了

create table #(xxx....)
insert # exec(@sql)
然后对临时表#进行操作

热点排行