跳到主要內容

CURSOR INCLUDE CURSOR

DECLARE @AEName VARCHAR(50)
DECLARE @StartDate DATETIME
DECLARE @Qty float

DECLARE CURSOR1 CURSOR FOR
SELECT AEName , Qty , StartDate FROM TBCursor WHERE  CONVERT(VARCHAR(10),StartDate,111)
BETWEEN '2018/01/10' AND '2019/07/01' AND QTY > 400

OPEN CURSOR1
FETCH NEXT FROM CURSOR1 INTO @AEName, @Qty  ,@StartDate
WHILE @@FETCH_STATUS = 0

BEGIN
BEGIN TRY
IF @Qty > 500
BEGIN

DECLARE @TBCursor2AEName  VARCHAR(50);
DECLARE @TBCursor2AEID VARCHAR(50);
DECLARE CURSOR2 CURSOR FOR
SELECT AEID , AEName FROM [TBCursor2] WHERE AEName = @AEName

OPEN CURSOR2
FETCH NEXT FROM CURSOR2 INTO @TBCursor2AEID , @TBCursor2AEName
WHILE @@FETCH_STATUS = 0

BEGIN
         PRINT @TBCursor2AEID +'/'+ @TBCursor2AEName
          FETCH NEXT FROM CURSOR2 INTO @TBCursor2AEID , @TBCursor2AEName;
END

CLOSE CURSOR2;
                        DEALLOCATE CURSOR2;

END

ELSE
BEGIN
PRINT 'QTY LESS THEN 500'
END

FETCH NEXT FROM CURSOR1 INTO  @AEName, @Qty  ,@StartDate 
END TRY

BEGIN CATCH
           SELECT ERROR_MESSAGE() AS ErrorMessage;
END CATCH
END

CLOSE CURSOR1
DEALLOCATE CURSOR1