我的工程有两个数据库一个主数据库Main,从数据库Plus
我在附加数据库里有些存储过程跨库查询了主库的一些表
比如:select * from Main.dbo.Product inner join Color on ....
现在如果我需要将Main数据库更名,那Plus数据库的存储过程里的内容怎么办?
最好客户自行更改主数据名后,也可以保证存储过程能够正常使用
...全文
49013打赏收藏
SQL SERVER 跨库查询,数据库又要能改变,怎么办?
我的工程有两个数据库一个主数据库Main,从数据库Plus 我在附加数据库里有些存储过程跨库查询了主库的一些表 比如:select * from Main.dbo.Product inner join Color on .... 现在如果我需要将Main数据库更名,那Plus数据库的存储过程里的内容怎么办? 最好客户自行更改主数据名后,也可以保证存储过程能够正常使用
CREATE PROCEDURE my_pro @dbname varchar(10)
as
begin
declare @sql as varchar(100)
set @sql = 'select * from ' + @dbname + '.dbo.Product inner join Color on ....'
exec(@sql)
end
go
我的工程有两个数据库一个主数据库Main,从数据库Plus
我在附加数据库里有些存储过程跨库查询了主库的一些表
比如:select * from Main.dbo.Product inner join Color on ....
现在如果我需要将Main数据库更名,那Plus数据库的存储过程里的内容怎么办?
最好客户自行更改主数据名后,也可以保证存储过程能够正常使用
declare @sql as varchar(100)
declare @db as varchar(10)
set @db = '更改的数据库名'
set @sql = 'select * from ' + @db + '.dbo.Product inner join Color on ....'
exec(@sql)