我的sql server有多个数据库实例db1、db2.....当前在db1,我想在db2里面执行操作后返回db1,我的语法是
DECLARE @var1 varchar(10)
set  @var1=DB_name()
use db2 
select * from table1 
exec( ' use '+@var1+' ')
执行操作后还是在db2,没有返回db1,直接use @var1也不行,求大侠告知!

解决方案 »

  1.   


    --采用介中方式
    select * from db2.dbo.table1  
      

  2.   


    动态SQL 语句,而且要加 go
      

  3.   

    我不光是执行一个select,我有很多种操作还有很多种表,还有我还会在db3里面也执行此类操作,我想在delphi里面写成一种函数调用,
      

  4.   

    DECLARE @var1 varchar(10)
    set @var1=DB_name()
    exec( 'select * from '+@var1+'..table1 ')
      

  5.   

    我在delphi中向存储过程传送变量db2,但是我的delphi的当前数据库是db1
    我采用
    DECLARE @var1 varchar(10)
    set  @var1='db2'
    exec( ' use '+@var1+' ')
    go
    也不行。咋整?
      

  6.   

    一般use 都与go一起用的。所以像一个批处理不很少会用到use.