语句如下:declare @sql varchar(200)
declare @table_name varchar(20)
declare cur_temp cursor for
select name from MTMOLOG..sysobjects where name like '%mt_log_%' and xtype='u'
open cur_temp
fetch next from cur_temp into @table_name
while @@fetch_status=0
begin
if @sql=''
Select @sql='select * from MTMOLOG..'+@table_name
else
begin
select @sql=@sql+' union select * from mtmolog..'+@table_name
end
execute(@sql)
fetch next from cur_temp into @table_name
end
close cur_temp
deallocate cur_temp
declare @table_name varchar(20)
declare cur_temp cursor for
select name from MTMOLOG..sysobjects where name like '%mt_log_%' and xtype='u'
open cur_temp
fetch next from cur_temp into @table_name
while @@fetch_status=0
begin
if @sql=''
Select @sql='select * from MTMOLOG..'+@table_name
else
begin
select @sql=@sql+' union select * from mtmolog..'+@table_name
end
execute(@sql)
fetch next from cur_temp into @table_name
end
close cur_temp
deallocate cur_temp
set sql='' --赋初值
declare @table_name varchar(20)
declare cur_temp cursor for
select name from MTMOLOG..sysobjects where name like '%mt_log_%' and xtype='u'
open cur_temp
fetch next from cur_temp into @table_name
while @@fetch_status=0
begin
if @sql=''
Select @sql='select * from MTMOLOG..'+@table_name
else
begin
select @sql=@sql+' union select * from mtmolog..'+@table_name
end
execute(@sql)
fetch next from cur_temp into @table_name
end
close cur_temp
deallocate cur_temp
set @sql='' --赋初值
declare @table_name varchar(20)
declare cur_temp cursor for
select name from MTMOLOG..sysobjects where name like '%mt_log_%' and xtype='u'
open cur_temp
fetch next from cur_temp into @table_name
while @@fetch_status=0
begin
/*
if @sql=''
Select @sql='select * from MTMOLOG..'+@table_name
else
begin
select @sql=@sql+' union select * from mtmolog..'+@table_name
end
*/
select @sql=@sql+'select * from mtmolog..'+@table_name+' union all '
fetch next from cur_temp into @table_name
end
close cur_temp
deallocate cur_temp
select @sql=left(@sql,len(@sql)-len(' union all '))
execute(@sql) --放到游标外面执行
我试试@~!