动态执行变量表名 表名赋值

liyingzi 2012-02-22 10:17:25
if object_id('tempdb..#t') is not null drop table #t
create table #t (name varchar(10))
insert into #t select 'F201101'
insert into #t select 'F201102'
insert into #t select 'F201103'
insert into #t select 'F201104'
insert into #t select 'F201105'
insert into #t select 'F201106'
insert into #t select 'F201107'
insert into #t select 'F201108'
insert into #t select 'F201109'
insert into #t select 'F201110'
insert into #t select 'F201111'
insert into #t select 'F201112'
select * from #t

declare @table varchar(50)
declare @sql varchar(8000)
set @table='select name from #t '这个怎么赋值啊
set @sql='select * from '+@table+''
exec (@sql)
...全文
80 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
勿勿 2012-02-22
  • 打赏
  • 举报
回复
declare @table varchar(50)
declare @sql varchar(8000)
set @table=' #t ' --这个怎么赋值啊
set @sql='select * from '+@table+''

exec (@sql)
百年树人 2012-02-22
  • 打赏
  • 举报
回复
declare @table varchar(50)
declare @sql varchar(8000)
select @sql=isnull(@sql+' union all ','')+'select * from ['+name+']'
from (select distinct name from #t) t
--print @sql
exec (@sql)
老猫五号 2012-02-22
  • 打赏
  • 举报
回复
请用##t,全局的临时表
百年树人 2012-02-22
  • 打赏
  • 举报
回复
declare @table varchar(50)
declare @sql varchar(8000)
select @sql=isnull(@sql+' union all ','')+'select * from ['+name+'] where payyesno=1'
from (select distinct name from #t) t
--print @sql
exec (@sql)
liyingzi 2012-02-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 josy 的回复:]
SQL code
declare @table varchar(50)
declare @sql varchar(8000)
select @sql=isnull(@sql+' union all ','')+'select * from ['+name+']'
from (select distinct name from #t) t
--print @sql
exec (@sql)……
[/Quote]
where payyesno=1 加哪里啊

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧