Solved

How to create Cursor Variable

Posted on 2008-10-13
6
1,693 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
  • 5
6 Comments
 
LVL 17

Accepted Solution

by:
HuyBD earned 500 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
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
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

Backup Your Microsoft Windows Server®

Backup all your Microsoft Windows Server – on-premises, in remote locations, in private and hybrid clouds. Your entire Windows Server will be backed up in one easy step with patented, block-level disk imaging. We achieve RTOs (recovery time objectives) as low as 15 seconds.

Join & Write a Comment

by Mark Wills Attending one of Rob Farley's seminars the other day, I heard the phrase "The Accidental DBA" and fell in love with it. It got me thinking about the plight of the newcomer to SQL Server...  So if you are the accidental DBA, or, simp…
INTRODUCTION: While tying your database objects into builds and your enterprise source control system takes a third-party product (like Visual Studio Database Edition or Red-Gate's SQL Source Control), you can achieve some protection using a sing…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
You have products, that come in variants and want to set different prices for them? Watch this micro tutorial that describes how to configure prices for Magento super attributes. Assigning simple products to configurable: We assigned simple products…

762 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

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now