declare @test varchar
set @test = 'test'
use @test
这里会出错误,请问如何使用变量数据库名

解决方案 »

  1.   

    declare @test varchar(400) 
    set @test = 'pubs' 
    exec( 'use '+@test+' ')
      

  2.   

    它会认为这个是个存储过程,但不知道为什么会认成uset而不是usetest。。
      

  3.   

    类似与数据库\表\视图\存储过程\自定义函数,如果用变量来传递或赋值,都需要用动态sql来执行
    正如 小米+步枪 的范例:
    declare @test varchar(400) 
    set @test = 'pubs' 
    exec( 'use '+@test+' ')