create procedure mypr(@srcdbname varchar(20),@desdbname varchar(20)) 
as 
begin 
exec('
  select * from ' + @srcdbname + '..t1 
  select * from ' + @desdbname + '..t1 
')
end 

解决方案 »

  1.   

    就是你说的那样
    我也试出来了
    因为我要用到游标,所以自己试了一下游标
    跟大家分享一下exec('declare cursor mycursor for '+
         'select * from '+@dbname+'..t1')
    open cursor mycursor 
    --在exec里边声明游标mycursor
    --在exec外边也可以用
      

  2.   

    还有一个要和大家分享一下
    因为我要拷贝的字段有种子字段
    所以 exec('set indentity_insert t2 on')
        exec('insert into t2(autoid) values select autoid from t1')
        exec('set indentity_insert t2 off')
    这个执行会有错 那个打开种子显示插入的开关命令并不会传入第二个exec下去就是那三个exec,要合并一句执行