Sql Server 2008 - 删除同义词

duc*_*ike 8 sql sql-server-2008

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

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

这不起作用,因为我使用的是Customers数据库,但需要从我的employees数据库中删除同义词.

SQL Server 2008不支持此语法 -

drop synonym [employees].[dbo].tblPerson2
Run Code Online (Sandbox Code Playgroud)

任何人都对如何修改数据库中的同义词有任何想法.我的解决方案涉及必须向每个数据库添加相同的存储过程,这似乎容易出错.

Mar*_*ith 7

EXEC('USE employees;
DROP SYNONYM [dbo].tblPerson2;')
Run Code Online (Sandbox Code Playgroud)