SQL Server 2008 - 删除同义词

9

我在我的数据库服务器上有一个实用的数据库(客户),其中存储了用于修改其他数据库中数据的所有例行程序。我们最近发现使用同义词会极大地使我们受益。

use Customers   
IF EXISTS (SELECT * FROM employees.sys.synonyms WHERE name = 'tblPerson2') begin
drop synonym [dbo].tblPerson2
end

这样做行不通,因为我正在使用Customers数据库,但需要从我的Employees数据库中删除同义词。

SQL Server 2008不支持此语法 -

drop synonym [employees].[dbo].tblPerson2

有没有人对如何跨数据库修改同义词有什么想法?我的解决方案涉及到在每个数据库中添加相同的存储过程,这似乎容易出错。

1个回答

7
EXEC('USE employees;
DROP SYNONYM [dbo].tblPerson2;')

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接