如何在SQL Server中删除存储过程的版本
我们有一些旧式存储过程,它们使用SQL Server现已弃用的功能,允许您在一个过程中创建一个过程的多个版本 例如我们有如何在SQL Server中删除存储过程的版本,sql,sql-server,stored-procedures,Sql,Sql Server,Stored Procedures,我们有一些旧式存储过程,它们使用SQL Server现已弃用的功能,允许您在一个过程中创建一个过程的多个版本 例如我们有 [up_MyProc] [up_MyProc];2 您仍然可以通过在名称末尾添加版本来创建这些“版本”。但是,在不删除该过程的情况下,我们希望删除内部版本 你似乎做不到 DROP PROC [up_MyProc];2 DROP PROC [up_MyProc;2] 有办法删除内部版本吗?不幸的是,没有 我刚刚尝试了sp_rename,但也失败了 新的系统视图也没有检测到它
[up_MyProc]
[up_MyProc];2
您仍然可以通过在名称末尾添加版本来创建这些“版本”。但是,在不删除该过程的情况下,我们希望删除内部版本
你似乎做不到
DROP PROC [up_MyProc];2
DROP PROC [up_MyProc;2]
有办法删除内部版本吗?不幸的是,没有
我刚刚尝试了sp_rename
,但也失败了
新的系统视图也没有检测到它们
CREATE PROC DBO.FOO;1
AS
SELECT 1
go
CREATE PROC DBO.FOO;2
AS
SELECT 2
go
--Can't find using new system views
SELECT * FROM sys.objects WHERE name LIKE '%foo%'
SELECT * FROM sys.sql_modules WHERE definition LIKE '%dbo.foo%SELECT%'
GO
--Found using legacy "system tables"
SELECT * FROM sysobjects WHERE name LIKE '%foo%'
SELECT * FROM syscomments WHERE text LIKE '%dbo.foo%SELECT%'
GO
不幸的是,没有
我刚刚尝试了sp_rename
,但也失败了
新的系统视图也没有检测到它们
CREATE PROC DBO.FOO;1
AS
SELECT 1
go
CREATE PROC DBO.FOO;2
AS
SELECT 2
go
--Can't find using new system views
SELECT * FROM sys.objects WHERE name LIKE '%foo%'
SELECT * FROM sys.sql_modules WHERE definition LIKE '%dbo.foo%SELECT%'
GO
--Found using legacy "system tables"
SELECT * FROM sysobjects WHERE name LIKE '%foo%'
SELECT * FROM syscomments WHERE text LIKE '%dbo.foo%SELECT%'
GO