SQL Server機能を使用して、番号で区別されたストアドプロシージャのグループを作成する人はいますか?


11

質問は、このmsdnドキュメントの数値パラメーターを参照しています

そうでない場合は、SQL Serverで複数のストアドプロシージャを番号で区別して作成し、1回のドロップでドロップできます。

create procedure dbo.stored_proc1 as select 1
go
create procedure dbo.stored_proc1;2 as select 2
go
exec stored_proc1
-- returns 1
go
exec stored_proc1;2
-- returns 2
go
drop stored_proc1
-- drops both 
go

この機能は誰かが何か役に立つものに使用しているのか、それとも単なる歴史的な好奇心なのか。


2
私たちはこの機能を使用していませんが、それが価値がある以上の問題ではなく、あなたが言うように、好奇心
jcolebrand

2
この機能は廃止されており、将来のリリースで削除される予定です。慎重に使用してください。
mrdenny、2011年

回答:


5

私はこの機能を約6年前に使用しました。あなたは正しい、私たちはこれを行うことができません:

drop stored_proc1;2

そして

exec stored_proc1 

と同じ

exec stored_proc1;1

なぜそれを使用したのですか?データを計算するアルゴリズム(戦略)はたくさんあるので、呼び出しインターフェースを変更せずにバージョンを簡単に切り替えることができます。


7

番号付きストアドプロシージャは廃止されました。

msdn
番号付きプロシージャは廃止されました。番号付き手順の使用はお勧めしません。このカタログビューを使用するクエリがコンパイルされると、DEPRECATION_ANNOUNCEMENTイベントが発生します。

私のチームは、メンテナンスプロジェクトでこれに遭遇しました。最初はわかりませんでした。その後、調査を行った結果、非推奨であることがわかりました。通常のストアドプロシージャに再構築する必要がありました。

番号付きストアドプロシージャは、SSMSのオブジェクトエクスプローラーツリーには表示されません。

番号付きストアドプロシージャ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.