MS SQL Server Concepts and Programming Question:

Can You Pass Expressions to Stored Procedure Parameters?

Tweet Share WhatsApp

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 '+'.

Download MS SQL Server PDF Read All 394 MS SQL Server Questions
Previous QuestionNext Question
What Are the Advantages of Passing Name-Value Pairs as Parameters?How To Provide Default Values to Stored Procedure Parameters?