我已经恢复了旧数据库。它有许多存储过程,它们以别名开头。例如(xxx.sp_test
)
如何一次性删除这些别名?有人可以帮忙吗?
答案 0 :(得分:3)
我假设您的意思是架构名称而不是"别名"。您无法从架构范围的对象(如存储过程)中删除架构,但您可以将对象传输到其他架构,例如从xxx
到dbo
,以便proc的2部分名称变为{ {1}}。这是使用dbo.sp_test
:
ALTER SCHEMA
答案 1 :(得分:0)
SELECT 'ALTER SCHEMA dbo TRANSFER [' + SysSchemas.Name + '].[' + DbObjects.Name + '];'
FROM sys.Objects DbObjects
INNER JOIN sys.Schemas SysSchemas ON DbObjects.schema_id = SysSchemas.schema_id
WHERE SysSchemas.Name = 'xxx'
AND (DbObjects.Type IN ('U', 'P', 'V'))
这是我在寻找......