Msg 9501, Level 16, State 2, Line 4
XQuery: Unable to resolve sql:variable(‘%.*ls’). The variable must be declared as a scalar TSQL variable.
This error message appears when in an XQuery a variable cannot be resolved to a valid TSQL variable.
The T-SQL statement can be parsed, but causes the error at runtime.
Errors of the Severity level 16 are generated by the user and can be fixed by the SQL Server user. The statement cannot be run this way. A sql:variable in a XQuery must be resolvable to a valid TSQL variable.
This error message was introduced with SQL Server 2005.
DECLARE @xml xml;
SET @xml = ”;
SELECT @xml.query( N’
In the above example we try to use the XQuery sql:variable @index. However this variable is not declared on the TSQL level. This raises the error.