1.如何在存儲過程中得到當前數據庫名
select db_name()2.如何在存儲過程中切換數據庫?
use db1
select * from tab1
use db2
select * from tab2

解决方案 »

  1.   

    j9988(j9988):
    关于第二个问题:你那样写根本通不过。
    sql 不准在存储过程中用Use命令呢
      

  2.   

    切换数据库可以写数据库..表名select * from db1..table1select * from db2.table2
      

  3.   

    xiaobzg(小兵张嘎) :
    我现在的情况是:
    数据库名由外部参数传来,@dbname
    在过程中有这么一句:
    select @id=id from sysobjects where name=@name
    现在想给这一名加上数据库名,即类似这样的功能:
    select @id=id from @dbname.[dbo].sysobjects where name=@name
    请问这样一句sql语句应如何写呢?
      

  4.   

    我想当然了!
    xiaobzg(小兵张嘎)的绝对行
      

  5.   

    declare @sqlstr nvarchar(1000)
    set @sqlstr='select @id_out=id from '+@dbname+'.[dbo].sysobjects where name='''+@name+''''
    exec sp_executesql @sqlstr,'@id_out int output',@id output
      

  6.   

    少个N
    exec sp_executesql @sqlstr,N'@id_out int output',@id output