Advertisement
valarion

Cursor

Apr 23rd, 2019
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.35 KB | None | 0 0
  1. CREATE PROCEDURE GeneratingPurchOrder
  2. @ItemId bigint,
  3. @Description varchar,
  4. @Order float
  5.  
  6. AS
  7.  
  8. --SELECT * INTO #temp_TrReqDt FROM TrReqDt WHERE ItemID = @ItemId AND Description = @Description ORDER BY CreatedDate
  9. SELECT * FROM TrReqDt WHERE ItemID = '1' AND Description = 'test' ORDER BY CreatedDate
  10. SELECT * FROM TrReqDt WHERE ItemID = '1' AND Description = 'test' AND Status = 'MENUNGGU ORDER' ORDER BY CreatedDate
  11.  
  12. --DROP TABLE #temp_TrReqDt
  13.  
  14. DECLARE @ORDERS FLOAT = '33';
  15. DECLARE @CHANGE FLOAT = '0';
  16. DECLARE @PONUMBER VARCHAR;
  17.  
  18. DECLARE POINTR CURSOR FOR SELECT ID,Qty FROM TrReqDt
  19. WHERE ItemID = '1' AND Description = 'test' AND Status = 'MENUNGGU ORDER'
  20. ORDER BY CreatedDate
  21.  
  22. DECLARE @curID INT; DECLARE @curQty FLOAT;
  23. OPEN POINTR; FETCH NEXT FROM POINTR INTO @curID, @curQty;
  24.  
  25. WHILE @@FETCH_STATUS = 0
  26. BEGIN
  27. IF(@curQty > @ORDERS)
  28. BEGIN
  29. SET @CHANGE = @curQty - @ORDERS;
  30. IF(@CHANGE > @curQty)
  31. BEGIN
  32. SELECT * FROM TrPurchaseOrder WHERE CAST(CreatedDate AS DATE) = CAST(GETDATE() AS DATE)
  33.  
  34. UPDATE TrReqDt SET Status = 'DALAM ORDER', PONumber = '' WHERE ID = @curID;
  35. END
  36.  
  37. 163
  38. 33 > 130
  39. 48
  40. 11
  41.  
  42. END
  43.  
  44. PRINT CAST(@curID AS VARCHAR) + 'E ' + CAST(@curQty AS VARCHAR) + 'E ' + CAST(@ORDERS AS VARCHAR);
  45. FETCH NEXT FROM POINTR INTO @curID, @curQty;
  46. END;
  47.  
  48. CLOSE POINTR;DEALLOCATE POINTR;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement