Does any body know how to set different select statement for the same cursor? I need somethink like this.
DECLARE Temp_Cursor CURSOR FOR
IF(@TempVar = 1)
BEGIN
SELECT CustomerId FROM Customers
END
ELSE IF(@TempVar = 2)
BEGIN
SELECT OrderId FROM Orders
END
OPEN Temp_Cursor;
FETCH NEXT FROM TempCursor INTO @TempObjectId
WHILE @@FETCH_STATUS = 0
BEGIN
…. etc
I have found solution: DECLARE @Temp_Cursor CURSOR
IF(@TempVar = 1)
BEGIN
SET @Temp_Cursor = CURSOR FOR
SELECT CustomerId FROM Customers
END
ELSE IF(@TempVar = 2)
BEGIN
SET @Temp_Cursor = CURSOR FOR
SELECT OrderId FROM Orders
END
OPEN @Temp_Cursor;
FETCH NEXT FROM @TempCursor INTO @TempObjectId
WHILE @@FETCH_STATUS = 0
BEGIN
Put the
IFoutside and do two different cursors, one for each situation.Like this:
Another possibility is to use Dynamic SQL.