MS SQL Server Concepts and Programming Question:
Can You Pass Expressions to Stored Procedure Parameters?
Answer:
Can you pass expressions to stored procedure parameters? The answer is no.
When executing stored procedures, all input values must be entered as data literals, which can be specified within single quotes ('), or without them if they cause no confusion. The tutorial exercise below shows you how input values should be specified:
CREATE PROCEDURE area_of_circle @radius REAL
AS BEGIN
PRINT 'Radius = ' + STR(@radius,9,3);
PRINT 'Area = ' + STR(3.14*@radius*@radius,9,3);
END;
GO
-- Input value without quotes
EXEC area_of_circle 1.5;
GO
Radius = 1.500
Area = 7.065
-- Input value with quotes
EXEC area_of_circle '1.5';
GO
Radius = 1.500
Area = 7.065
-- Expressions are not allowed
EXEC area_of_circle 1.0+0.5;
GO
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '+'.
When executing stored procedures, all input values must be entered as data literals, which can be specified within single quotes ('), or without them if they cause no confusion. The tutorial exercise below shows you how input values should be specified:
CREATE PROCEDURE area_of_circle @radius REAL
AS BEGIN
PRINT 'Radius = ' + STR(@radius,9,3);
PRINT 'Area = ' + STR(3.14*@radius*@radius,9,3);
END;
GO
-- Input value without quotes
EXEC area_of_circle 1.5;
GO
Radius = 1.500
Area = 7.065
-- Input value with quotes
EXEC area_of_circle '1.5';
GO
Radius = 1.500
Area = 7.065
-- Expressions are not allowed
EXEC area_of_circle 1.0+0.5;
GO
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '+'.
Previous Question | Next Question |
What Are the Advantages of Passing Name-Value Pairs as Parameters? | How To Provide Default Values to Stored Procedure Parameters? |