Sql-server – Numbered stored procedures: introduction and deprecation

sql serverstored-proceduressybase-aset-sql

SQL Server and Sybase ASE both support the highly dubious feature of grouping stored procedures by appending a number:

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

The only tangible benefit is that DROP PROCEDURE Foo will drop all of these procedures together — and that's it; to call them you still need to append the number explicitly. The drawbacks of allowing a semicolon to be part of a procedure name and having non-obvious DROP semantics should be obvious, and indeed many tools don't (properly) support this format and things like contained databases outright forbid them.

In what version of SQL Server and/or Sybase ASE was this feature introduced, and from what version onwards was it deprecated? I'd consult the documentation, but documentation that goes back far enough does not appear to be available. I've found the following:

This leads me to think the feature might have existed in very early versions indeed, possibly before the split between Sybase and Microsoft, but still doesn't tell me what the earliest introduction and deprecation was. The asteroid to kill this dinosaur is still in orbit, but how old is the dinosaur?

Best Answer

Looking at the SQL Server 2000 T-SQL help, there is no mention of deprecation so it seems numbered stored procedures were deprecated with the release SQL Server 2005.

I don't recall numbered procs ever not being in the Microsoft SQL Server product on Windows so I'm pretty sure the feature stems from it's Sybase roots and is in the 4.21a Windows release. I can't speak to the OS/2 version since I dodged that bullet :-)