2009-11-30 4 views
1

У нас есть несколько устаревших хранимых процедур, которые используют устаревшую функцию SQL Server, которая позволила вам создать несколько версий процедуры в рамках процедуры.Как отменить версию хранимой процедуры в SQL Server

К примеру у нас есть ..

[up_MyProc] 
[up_MyProc];2 

Вы все еще можете создать эти «версии» Добавляя версию на конце имени. Однако, не отбрасывая процедуру, мы хотели бы отказаться от внутренних версий.

Вы не можете, кажется, делают

DROP PROC [up_MyProc];2 
DROP PROC [up_MyProc;2] 

Есть ли способ сбросить внутренние версии?

ответ

1

К сожалению, нет.

Я только что попробовал 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 
Смежные вопросы