Procedure %.*ls has no parameters and arguments were supplied.

Error Message:
Msg 8146, Level 16, State 2, Procedure t, Line 0
Procedure %.*ls has no parameters and arguments were supplied.

Severity level:
16.

Description:
This error message appears when you try to pass parameter values to a stored procedure that are not expected by the procedure.

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 executed this way. You can only pass values for those parameters to a stored procedure that are also expected by this procedure.

Versions:
All versions of SQL Server.

Example(s):
USE tempdb;
GO
IF OBJECT_ID(‘t’) > 0
 DROP PROCEDURE dbo.t
GO
CREATE PROCEDURE dbo.t
AS
SET NOCOUNT ON
SELECT 1
RETURN 0
GO
EXEC dbo.t @i = 1, @j= 1

Remarks:
In the above example we try to pass values for the parameters @i and @j to the procedure t. Because procedure t has no such parameters, the error is raised.

]]>

Leave a comment

Your email address will not be published.