Must pass parameter number %d and subsequent parameters as '@name = value'. After the form '@name = value' has been used, all subsequent parameters must be passed in the form '@name = value'.

Error Message:
Msg 119, Level 15, State 1, Line 1
Must pass parameter number %d and subsequent parameters as
‘@name = value’. After the form ‘@name = value’ has been used, all subsequent parameters must be passed in the form ‘@name = value’.

Severity level:
15.

Description:
This error message appears when you try to pass parameters in different formats to a stored procedure.

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

Resolution:
Error of the Severity level 15 are generated by the user and can be fixed by the SQL Server user. The statement cannot be executed. Parameters must be passed in a unified format. Either you use pass the parameter name and value to the procedure or just the value. Mixing og both formats is not allowed.

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(@i INT)
AS
SET NOCOUNT ON
SELECT @i
RETURN 0
GO
EXEC dbo.t @i = 1, 1

Remarks:
Im the above example we try to pass the first parameter in the format “@parametername = value”. The second parameter however is passed in the format “value”. This raises the error.

]]>

Leave a comment

Your email address will not be published.