• A good QOTD -one of the better ones.

    It's quite amusing how MS muddles its terminology in this area, though

    If you read http://msdn.microsoft.com/en-us/library/ms188332.aspx you will find the following text:-

    L. Using a parameter with EXECUTE and AT linked_server_name

    The following example passes a command string to a remote server by using a question mark (?) placeholder for a parameter. The example creates a linked server SeattleSales that points to another instance of SQL Server and executes a SELECT statement against that linked server. The SELECT statement uses the question mark as a place holder for the ProductID parameter (952), which is provided after the statement.

    which uses the term "placeholder" twice for the "?" symbol in the context of exec at a linked server.

    The Visual DB Tools documentation has many statements like

    To mark a name as a parameter and not as a string of literal characters, you place a prefix in front of the parameter name (and, as an option, a suffix after it). For example, parameter marker characters might be "@", ":", or "%".

    (this quote was from http://msdn.microsoft.com/en-us/library/aa276127(SQL.80).aspx but you can find much the same thing at http://msdn.microsoft.com/en-us/library/fb35s21e(VS.71).aspx and at http://msdn.microsoft.com/en-us/library/fb35s21e.aspx and so on). This makes it pretty clear that in the Visual DB Tools world "parameter marker" means something completely different from "parameter placeholder".

    However other documentation often says "A parameter marker is a question mark (?) placed in the location of an input or output expression in a Transact-SQL statement." (eg http://msdn.microsoft.com/en-us/library/aa212698(SQL.80).aspx and http://msdn.microsoft.com/en-us/library/ms191162.aspx). Which directly contradicts the Visual DB Tools documentation and uses different terminolgy from that in the EXECUTE (Transact-SQL) entry in SQL Server 2008 Books Online > Database Engine > Technical Reference > Transact-SQL Reference.

    MS must be a weird outfit to get BOL for SQLS 2008 contradicting itself about what those "?" things are called!

    Tom