数据库名:UFDATA_001_2000,UFDATA_001_2001,UFDATA_001_2002,
UFDATA_002_2000,ufdata_002_2001,UFDATA_003_2001,UFDATA_003_2002...
 
 这些库的表结构一样,我想使用union all连接这些库后创建一个视图,需要通过001、002、003与后面的年份2000、2001.。。我已获取001、002、003及后面的年份,想通过代号与年份这两层循环来实现,可以吗??具体代码该怎么写,麻烦各位帮下忙

解决方案 »

  1.   

    use UFDATA_001_2000
    create view your view
    use UFDATA_001_2001
    create view your view
    use UFDATA_001_2002
    create view your view--写成循环
      

  2.   


    declare @name varchar(10)
    set @name='UFDATA_'
    declare @i int
    set @i=1
    while @i<3
    begin
    declare @sql varchar(40)
    set @sql='use '+@name+cast(@i as varchar(10))+';'+'create table table1 (id int)'
    select @sql
    exec(@sql)
    set @i=@i+1
    end把创建表,改成创建视图。
    把name匹配成你的数据库name就可以了
      

  3.   

    我创建了UFDATA_1 ,UFDATA_2,UFDATA_3 三个数据库,循环创建table1成功。