使用光标删除所有同义词

cha*_*mar 5 sql-server-2008r2-express

我想使用游标删除数据库的所有同义词(sql server 2008 r2).环境 - 数据库名称 - 'mydatabase',模式名称 - 'dbo'..你可以指导我,因为我尝试但是...结束时的声明,是不能删除同义词.wrt游标应该应用什么逻辑?

小智 15

无需使用游标.按照设定做:

declare @n char(1)
set @n = char(10)

declare @stmt nvarchar(max)

select @stmt = isnull( @stmt + @n, '' ) +
'drop synonym [' + SCHEMA_NAME(schema_id) + '].[' + name + ']'
from sys.synonyms

exec sp_executesql @stmt
Run Code Online (Sandbox Code Playgroud)