日期:2014-05-17  浏览次数:20558 次

动态sql语句生成数据表调用问题!
各位好:

我们用 exec(@sqltext1) 的方式,可以灵活的将各种查询条件放入查询中

但如果查询结果需要被调用,则我们只能在@sqltext1 中用 insert #temp ..... 的方式

但这样生成的表不能被调用,我们只能 insert ##temp  这样的全局表才可以

但如果大家都在使用这个程序,##temp 就会被多人使用而可能造成冲突!

怎么解决呢?

谢谢高手解答!
动态sql??全局表??冲突

------解决方案--------------------
如果事先知道表结构的话可以先创建临时表或表变量来做处理
但是如果不知道,我想到的是用随机数生成一个##t_xxx
然后一直用exec()来执行其余的操作,
之前有人提用openrowset执行存储过程,然后select into到临时表
但是那种方法不安全