rpc*_*cob 1 sql sql-server-2008
如何使用所有基于变量(参数)的存储过程在同一服务器中使用两个不同的数据库执行相同的查询?
由于我使用它的方式,这必须在存储过程中完成。信息存储在两个数据库的相同表名中。我需要基于变量的结果是动态的。如果输入 X 变量,它需要从 databaseA 读取,但如果输入 Y,它需要从 databaseB 读取。
我现在所拥有的只是一个有效的查询,每次都会更改 dbo。我花了很多时间寻找答案,但找不到任何东西。任何人都可以帮助我开始吗?
您可以使用参数并检查 where 子句并决定从哪个数据库表中选择数据试试这个
--assuming both tables have same table structure
select * from database1.dbo.table where 'x' = @param1
union all
select * from database2.dbo.table where 'y' = @param1
Run Code Online (Sandbox Code Playgroud)
或者
if (@param1 = 'x')
begin
select * from database1.dbo.table
end
else if (@param1 = 'y')
begin
select * from database2.dbo.table
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12941 次 |
| 最近记录: |