web-dev-qa-db-ja.com

番号付きストアドプロシージャ:導入と廃止?

SQL ServerとSybase ASEはどちらも、番号を追加してストアドプロシージャをグループ化するという非常に怪しい機能をサポートしています。

CREATE PROCEDURE Foo;1 AS ...
CREATE PROCEDURE Foo;2 AS ...

唯一の具体的なメリットはDROP PROCEDURE Fooこれらの手順をすべて一緒に削除します-それだけです。それらを呼び出すには、番号を明示的に追加する必要があります。セミコロンをプロシージャ名の一部として使用できることと、明白でないDROPセマンティクスを持つことの欠点は明白であり、実際、多くのツールはこの形式を(適切に)サポートしておらず、含まれているデータベースのようなものは完全にそれらを禁止します。

SQL ServerやSybase ASEのどのバージョンでこの機能が導入されましたか。また、どのバージョンから廃止されましたか?ドキュメントを参照したいのですが、かなり前に遡ったドキュメントが利用できないようです。私は以下を見つけました:

これは、おそらくSybaseとMicrosoftの間で分割される前の非常に初期のバージョンに機能が存在していた可能性があると思いますが、それでも最初の導入と非推奨が何であったかはまだわかりません。この恐竜を殺す小惑星はまだ軌道に乗っていますが、恐竜は何歳ですか?

3
Jeroen Mostert

SQL Server 2000 T-SQLヘルプを見ると、非推奨についての言及がないため、番号付きストアドプロシージャはSQL Server 2005のリリースで非推奨になったようです。

Windows上のMicrosoft SQL Server製品に存在しない番号付きプロシージャを思い出したことがないので、この機能はSybaseのルーツに由来し、4.21a Windowsリリースに含まれていると確信しています。私はその弾丸を避けたので、OS/2バージョンと話すことができません:-)

3
Dan Guzman

番号付きプロシージャは、少なくともバージョン4.2以降、ASE(90年代前半:Sybase SQL Server)に含まれています。

そして、はい、番号付きプロシージャは現在もASEにあります(たとえば、ASE 16.x)。

私はそれらの使用法を見つけたことはなく、すべての使用法に遭遇したことを思い出すことはできません(私は長年にわたって数十の会社で働いてきました)。

私はこれらの恐竜がまだ(まだ)それらを使用している人のための後方互換性を除いてまだある理由を知りません。

これらの恐竜を殺害することについては... *肩をすくめる* ...私は努力がよりよく費やされるであろう多くの場所(ASEの中で)を考えることができます。その間、私は番号付きのprocが存在することを知っていますが、それらを無視して陽気な方法で続行します...

3
markp-fuso