Sql server 错误更新sp名称时检索旧sp名称

Sql server 错误更新sp名称时检索旧sp名称,sql-server,stored-procedures,Sql Server,Stored Procedures,使用重命名选择sp名称时,我错误地按了“s”,然后按了tab。然后它被错误地重命名了。我不知道Sp的名称。如何获取旧sp名称。请推荐我。我在 重命名存储过程、函数、视图或触发器不会 更改定义中相应对象名称的名称 sys.sql_模块目录视图的列。因此,我们建议 sp_rename不能用于重命名这些对象类型。相反,放弃 并使用新名称重新创建对象 我已经测试了相同的,我得到了旧的对象名称 GO CREATE PROCEDURE PROC_MY_SP AS BEGIN SELECT 1 AS

使用重命名选择sp名称时,我错误地按了“s”,然后按了tab。然后它被错误地重命名了。我不知道Sp的名称。如何获取旧sp名称。请推荐我。

我在

重命名存储过程、函数、视图或触发器不会 更改定义中相应对象名称的名称 sys.sql_模块目录视图的列。因此,我们建议 sp_rename不能用于重命名这些对象类型。相反,放弃 并使用新名称重新创建对象

我已经测试了相同的,我得到了旧的对象名称

GO
CREATE PROCEDURE PROC_MY_SP
AS
BEGIN
    SELECT 1 AS COL
END


GO
SELECT OBJECT_ID('PROC_MY_SP')  --789786071
GO

SELECT * FROM sys.sql_modules WHERE OBJECT_ID('PROC_MY_SP')= OBJECT_ID

GO
sp_rename 'PROC_MY_SP', 'PROC_YOUR_SP'

GO

SELECT OBJECT_ID('PROC_YOUR_SP')  --789786071
--Changing the SP Name wont change the objectID

GO
SELECT definition,* FROM sys.sql_modules WHERE OBJECT_ID=789786071
--Or Simply pass your new sp name
SELECT definition, * FROM sys.sql_modules WHERE OBJECT_ID('PROC_YOUR_SP')= OBJECT_ID
此处的定义列仅显示旧sp名称。

来自MSDN,我在中找到

重命名存储过程、函数、视图或触发器不会 更改定义中相应对象名称的名称 sys.sql_模块目录视图的列。因此,我们建议 sp_rename不能用于重命名这些对象类型。相反,放弃 并使用新名称重新创建对象

我已经测试了相同的,我得到了旧的对象名称

GO
CREATE PROCEDURE PROC_MY_SP
AS
BEGIN
    SELECT 1 AS COL
END


GO
SELECT OBJECT_ID('PROC_MY_SP')  --789786071
GO

SELECT * FROM sys.sql_modules WHERE OBJECT_ID('PROC_MY_SP')= OBJECT_ID

GO
sp_rename 'PROC_MY_SP', 'PROC_YOUR_SP'

GO

SELECT OBJECT_ID('PROC_YOUR_SP')  --789786071
--Changing the SP Name wont change the objectID

GO
SELECT definition,* FROM sys.sql_modules WHERE OBJECT_ID=789786071
--Or Simply pass your new sp name
SELECT definition, * FROM sys.sql_modules WHERE OBJECT_ID('PROC_YOUR_SP')= OBJECT_ID
此处的定义列仅显示旧sp名称