Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6982697
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 27, 20262026-05-27T18:19:23+00:00 2026-05-27T18:19:23+00:00

I am trying to create a stored procedure that utilizes a variable number of

  • 0

I am trying to create a stored procedure that utilizes a variable number of parameters. As I am pretty new to writing stored procedures and TSQL in general, I decided to try and write it with only one parameter. However, I keep getting an error stating “Must declare scalar variable @FirstName” when I try to execute it. Right now, I am trying to store the SQL statement in another variable, @sql. My procedure looks like this:

ALTER PROCEDURE [dbo].[GetEmployeeByParameters]
(@FirstName varchar(50))

AS

BEGIN

    DECLARE @sql AS NVARCHAR(4000)
    SET @sql = 'SELECT e.* from Employee e
               WHERE e.FirstName = @FirstName'
    EXEC (@sql)
END

I’ve looked elsewhere and tried EXEC sp_execute @sql which didn’t work. Strangely, what does work is when I don’t declare the @sql variable and instead just write my query normally. Since that is the case, I’m assuming there is some error in my usage of the SET and EXEC functions. I’m also not 100% sure that I’m using BEGIN and END properly. The way I understood it is that BEGIN and END separate SQL statements into logical blocks, and thus are more commonly used when IF comes into play. Could anyone tell me what exactly is going on with my parameter here? It’s really confusing me as to why SQL Server thinks it’s not declared.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-27T18:19:23+00:00Added an answer on May 27, 2026 at 6:19 pm

    The variable parameter needs to be outside the quotes.

    SET @sql = N'SELECT e.* from Employee e
                 WHERE e.FirstName = ''' + @FirstName + ''''
    

    Or, better yet, run it without any dynamic SQL.

    SELECT e.* 
        from Employee e
        WHERE e.FirstName = @FirstName 
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I am trying to create a stored procedure that has optional parameters. I followed
I'm trying to write a stored procedure that will create a new FILEGROUP based
2 Hi! I am trying to create stored procedure that gone return varchar value,
I'm trying to create a stored procedure that uses SELECT TOP 20 * from
I am trying to create a stored procedure that returns the ID of a
I'm trying to create a stored procedure that retrieves data from 3 tables on
I am trying to create a stored procedure that takes a bit parameter which
I am trying to create a Stored Procedure that will be used for a
I am very new to stored procedures. I am trying to create a stored
I am trying to create a stored procedure that when given a month value,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.