关于SqlServer2000 临时表和行列转换的问题
存储过程中
定义一个@sql varchar(8000)里面放了一个select语句
通过参数拼凑where语句后执行 exec(@sql)返回一个结果集
然后对结果集的部分列进行行列转换,(需要转换成 列的 行数量是不固定的)
我是使用的是case语句进行转换
这样做需要把exe(@sql)的结果集存储在一个@TmpTable table变量中
请教如何把exe(@Sql)的结果存储在这个表变量里呢?
或者大家有什么更好的办法进行处理呢?
------解决方案--------------------因为表变量受到自身所处有效范围的限制,用来存放不定行转列的语句执行的结果不太现实。
------解决方案--------------------用全域臨時表試試?
或者乾脆用個temp_t,最後drop 好了
------解决方案--------------------在临时表做一次中间转换.生成临时表后,然后处理数据集.
------解决方案--------------------放临时表就行了
create table #(xxx....)
insert # exec(@sql)
然后对临时表#进行操作