0

私は今はTest2を(データベース名)、 ような別のデータベースの手順は、私がいることを呼び出すことができ、iは10のテーブルと5つのストアドプロシージャを添加し、このデータベースに試験(DB名)ような1つのデータベースを使用してい今1つのdbストアドプロシージャを別のdbストアドプロシージャに動的に変更する方法はありますか?

Test2 database stored procedure is 

    Create proc GetDetails() 
    As 
Begin 
    Exec Test..GetDetails() 
End 

のように別のデータベースにクライアントを使用しているのStoredProcedure後にこの

Test database stored procedure is 

Create proc GetDetails() 
As 
select * from Emp; 

のように書いてデータベースをインポートしてクライアントの希望に応じて名前を変更する現在、すべてのストアドプロシージャがこの状況で動作していません。どのように問題を解決するにはpls私は任意の提案を与える、私は動的にすべてのストアドプロシージャのデータベース名を変更することができます。

、あなたはこのようにそれを使用することができ、あなたがTest2をするSPROCにターゲット・データベース名を渡す(または構成テーブルか何かからそれを読む)ことができますと仮定すると、Uに Hemanth

答えて

0

感謝:

-- assume @dbname has the name of the database where getdetails was created 
declare @sql nvarchar(4000), @params nvarchar(4000), @dbname sysname 
set @dbname = 'test' 
set @sql = @dbname + '..getdetails' 
set @params = '' 
exec sp_executesql @sql, @params 
関連する問題