多数据库的单一存储过程 [英] Single Stored Procedure for Multiple Database

查看:88
本文介绍了多数据库的单一存储过程的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的,



我有两个数据库

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆