Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SQL Server中删除存储过程的版本_Sql_Sql Server_Stored Procedures - Fatal编程技术网

如何在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,但也失败了 新的系统视图也没有检测到它

我们有一些旧式存储过程,它们使用SQL Server现已弃用的功能,允许您在一个过程中创建一个过程的多个版本

例如我们有

[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