多数据库的单一存储过程 [英] Single Stored Procedure for Multiple Database
问题描述
亲爱的,
我有两个数据库
1.ta
2.Theorem_Analytics_database。
单个存储过程
创建程序MultDB
as
select * from ta.dbo.user_master
声明@ScndDB varchar(100);
set @ScndDB ='[Theorem_Analytics_database] .dbo.User_Master';
select * from @ScndDB
错误:必须声明表变量@ScndDB。
请帮帮我。
但如果如下所示
创建程序MultDB
as
select * from ta.dbo.user_master
声明@ScndDB varchar(100);
set @ScndDB = '[Theorem_Analytics_database] .dbo.User_Master';
select @ScndDB
执行成功。
显示
ta DB User_Mas的所有数据ter表。
和
[Theorem_Analytics_database] .dbo.User_Master
Dear All,
I have two Database
1.ta
2.Theorem_Analytics_database.
Single Stored Procedure
Create procedure MultDB
as
select * from ta.dbo.user_master
declare @ScndDB varchar(100);
set @ScndDB ='[Theorem_Analytics_database].dbo.User_Master';
select * from @ScndDB
ERROR:Must declare the table variable "@ScndDB".
Please help me.
but if it is like below
Create procedure MultDB
as
select * from ta.dbo.user_master
declare @ScndDB varchar(100);
set @ScndDB ='[Theorem_Analytics_database].dbo.User_Master';
select @ScndDB
Execution Success.
it displays
all data of ta DB User_Master Table.
and
[Theorem_Analytics_database].dbo.User_Master
推荐答案
您需要动态查询执行。只需构建您的查询字符串,并将其传递给 sp_executesql [ ^ ]程序。
You need dynamic query execution. Simply build your query string, and pass it to sp_executesql[^] procedure.
这篇关于多数据库的单一存储过程的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!