error in running a stored procedure in mssql

USE [Testdb]
GO

DECLARE	@return_value int

EXEC	@return_value = [dbo].[TestData]
		@group = 120,
		@lang = 9,
		@langcode = 999,		
		@value = 'aaa',
		@min = 22916,
		@dec = 2,000000

SELECT	'Return Value' = @return_value

GO

Open in new window


And i end up with the following error:

Msg 119, Level 15, State 1, Line 4
Must pass parameter number 7 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'.

Open in new window


Any help?
LVL 12
jazzIIIloveAsked:
Who is Participating?
 
ste5anConnect With a Mentor Senior DeveloperCommented:
It's a wrong decimal literal, @dec must use a dot as separator:

EXEC	@return_value = [dbo].[TestData]
		@group = 120,
		@lang = 9,
		@langcode = 999,		
		@value = 'aaa',
		@min = 22916,
		@dec = 2.000000

Open in new window

0
 
Scott PletcherConnect With a Mentor Senior DBACommented:
Or enclose it in quotes:

@dec = '2,000000'

SQL is taking the comma there as separating input parameters, so it thinks "000000" is another parameter without a name in front of it: but, since earlier params had names in front, all subsequent params must have names in front, which is what the error is stating.
0
All Courses

From novice to tech pro — start learning today.