The function '%.*ls' takes exactly %d argument(s).

Error Message:
Msg 4114, Level 15, State 1, Line 1
The function ‘%.*ls’ takes exactly %d argument(s).

Severity level:
15.

Description:
This error message appears when you try to call a windowed fucntion without providing the exact number of arguments for that function.

Consequences:
The SQL statement cannot be parsed and further execution is stopped.

Resolution:
Errors of the Severity Level 15 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed this way. You must supply the exact number of arguments to the windowed function you want to call.

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

Example(s):
USE tempdb;
GO
IF OBJECT_ID(‘tempdb..#t’) > 0
 DROP TABLE #t
GO
CREATE TABLE #t
(
 id INT
)
INSERT INTO #t SELECT 10
GO
SELECT NTILE() OVER(ORDER BY ID) AS rid, id
  FROM #t
 GROUP BY id

Remarks:
In the above example we try to call the NTILE() function without providing the required argument. This raises the error.

]]>

Leave a comment

Your email address will not be published.