This question has been occasionally bothering me for more than 10 years, and I still don't know the answer to it. Once upon a time (back in the good old days of last millennium) I was trying to test a solution to a problem, and typed something like this on a hurry: create proc dummy as begin -- the body of the proc with some valid syntax end go To my surprise, I received the following greeting from the SQL-Server 7 parser: > Invalid use of keyword dummy Intrigued, I searched the BOL and the web hoping to find some information about the purpose of the aforementioned keyword, but could not find anything. There were some paranoid posts about some hidden meaning of **dummy** due to existence of some mysterious hidden table in SQL Server 7 similar in its design to the dual table in Oracle which I believe is designed as create table dual (dummy varchar2(1) not null); insert into dual (dummy) values ('X'); commit; but those posts did not make any sense. I know that **dummy** is no longer a keyword as it is possible to create a procedure named **dummy** in any version of SQL Server starting from 2000, but I still would love to find out what did it mean back then.
I think you are right. I believe Dummy or sys.Dummy has its roots in Sybase and is similar to the Dual table to return scalar or non-table results. My guess is this is a vestige from Sybase that leached over into the early MS SQL product.