Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

How to create Cursor Variable

Posted on 2008-10-13
6
Medium Priority
?
1,942 Views
Last Modified: 2012-05-05
I have create the following cursor and am attempting to run via MS Studio Express. When execute I get the following error but not sure how to correct:  Msg 16948, Level 16, State 4, Line 40
The variable '@MasterMenuNumber' is not a cursor variable, but it is used in a place where a cursor variable is expected.



DECLARE @MasterMenuNumber Int;
 
DECLARE MyCursor CURSOR LOCAL
FAST_FORWARD
FOR
SELECT MasterMenuNumber
FROM F01.MstrMenu
 
OPEN MyCursor
 
FETCH NEXT FROM MyCursor
INTO @MasterMenuNumber
 
WHILE @@FETCH_STATUS = 0
BEGIN
 
DELETE FROM F01.BamRecs FROM F01.BldAMenu
   WHERE BamRecs.BAMenuNumber=BldAMenu.BAMenuNumber AND BldAMenu.MasterMenuNumber= @MasterMenuNumber
      AND BldAMenu.DietNumber not in
   (SELECT DietNumber from F01.MMDiets where MasterMenuNumber=@MasterMenuNumber);
 
DELETE FROM F01.BldAMenu WHERE MasterMenuNumber= @MasterMenuNumber 
  AND BAMenuNumber not in (SELECT BAMenuNumber FROM F01.BamRecs);
 
DELETE FROM F01.Snacks FROM F01.SnackRec
   WHERE SnackRec.SNAMenuNumber=Snacks.SNAMenuNumber AND Snacks.MasterMenuNumber= @MasterMenuNumber
      AND Snacks.DietNumber not in
   (SELECT DietNumber from F01.MMDiets where MasterMenuNumber=@MasterMenuNumber);
 
DELETE FROM F01.Snacks WHERE MasterMenuNumber= @MasterMenuNumber 
  AND SNAMenuNumber not in (SELECT SNAMenuNumber FROM F01.SnackRec);
 
FETCH NEXT FROM MyCursor
INTO @MasterMenuNumber
 
END
 
CLOSE MyCursor
DEALLOCATE MyCursor
DEALLOCATE @MasterMenuNumber

Open in new window

0
Comment
Question by:JoeSnyderJr
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
6 Comments
 
LVL 17

Accepted Solution

by:
HuyBD earned 2000 total points
ID: 22708282
this cause by line 40
DEALLOCATE @MasterMenuNumber
you dont need to delocate
0
 
LVL 17

Expert Comment

by:HuyBD
ID: 22708289
0
 
LVL 17

Expert Comment

by:HuyBD
ID: 22708301
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 17

Expert Comment

by:HuyBD
ID: 22708307
sorry, I have a missing, wrong window :)
0
 

Author Closing Comment

by:JoeSnyderJr
ID: 31505756
Thanks, you even anticipated my DeAllocate question for the @variable. Thanks for quick response
Were you suggesting by your additional link that a case statement would be alternative to my using a cursor in this situation??
0
 
LVL 17

Expert Comment

by:HuyBD
ID: 22708359
that is wrong post, but you can change to use query to delete
delete yourtable
from yourtable
inner join ....
where ....
0

Featured Post

Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will describe one method to parse a delimited string into a table of data.   Why would I do that you ask?  Let's say that you need to pass multiple parameters into a stored procedure to search for.  For our sake, we'll say that we wa…
This article explains how to reset the password of the sa account on a Microsoft SQL Server.  The steps in this article work in SQL 2005, 2008, 2008 R2, 2012, 2014 and 2016.
We’ve all felt that sense of false security before—locking down external access to a database or component and feeling like we’ve done all we need to do to secure company data. But that feeling is fleeting. Attacks these days can happen in many w…
Are you ready to place your question in front of subject-matter experts for more timely responses? With the release of Priority Question, Premium Members, Team Accounts and Qualified Experts can now identify the emergent level of their issue, signal…

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question