%sSyntax error near '%ls', expected 'where', '(stable) order by' or 'return'.

Error Message:
Msg 9332, Level 16, State 1, Line 5
%sSyntax error near ‘%ls’, expected ‘where’, ‘(stable) order by’ or ‘return’.

Severity level:
16.

Description:
This error message appears when a syntax error is encountered in an XQuery.

Consequences:
The T-SQL statement can be parsed, but causes the error at runtime.

Resolution:
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. An XQuery must contain valid XQuery syntax.

Versions:
This error message was introduced with SQL Server 2005.

Example(s):
DECLARE @xml xml;
SET @xml = ‘<Result />’;
SELECT
    @xml.query(‘for $a in(1, 2), $b in(3, 4)
    WHERE
        $a < $b
    return sum($a + $b)’) as XML;

Remarks:
In the above example we try to use the uppercase WHERE  keyword in the XQuery. Because XQuery is case-sensitive, this is different from the expected where keyword and thus the error is raised.

]]>

Leave a comment

Your email address will not be published.