这个sql应该怎么写,exec中用到临时表

wangfangzhen 2005-09-21 02:25:18
由于数据库名不确定,所以就
declare @DBName varchar(20)
set @DBName='AesMerit'
exec ('select * into #t from '+@DBName+'..CompanyBasicInfo')
select * from #t

但这个时候临时表并没有创建,数据也不知道去那了?
...全文
107 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
TT老老 2005-09-21
我也遇到过这个问题...把临时表就全局表.
declare @DBName varchar(20)
Declare @sql Varchar(1000)
set @DBName='AesMerit'
set @sql='select * into #t from '+@DBName+'..CompanyBasicInfo'
Select @Sql ---测试
Execute (@Sql)
select * from #t

不行的话把#T改成#TT或者干脆变成表T
最后再删除掉把
Drop Table #TT
回复
zlp321002 2005-09-21
--恩 select * from #t 放到 exec 内
回复
zlp321002 2005-09-21
--有啊!,你看是否有数据库"AesMerit",是否该数据库中是否有"CompanyBasicInfo"表
--我测试了,可以找到结果!
declare @DBName varchar(20)
set @DBName='TEST'
exec ('select * into #t from '+@DBName+'..TEST')
select * from #t
回复
WangZWang 2005-09-21
declare @DBName varchar(20)
set @DBName='AesMerit'
exec ('select * into #t from '+@DBName+'..CompanyBasicInfo
select * from #t
')
--这样才行
回复
发帖
应用实例
创建于2007-09-28

2.7w+

社区成员

MS-SQL Server 应用实例
申请成为版主
帖子事件
创建了帖子
2005-09-21 02:25
社区公告
暂无公告