Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Chriss Miller on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

SELECT DISTINCT within Cursors

Status
Not open for further replies.

TomBarrand

Programmer
Joined
Aug 9, 2000
Messages
162
Location
GB
I have the following syntax for some cursors. The statements are as I would like, but the problem is that SELECT DISTINCT cannot be used for a Cursor that is set FOR UPDATE. How do I get round this?

DECLARE PurchOrdLine_POL_Curs CURSOR
FOR
SELECT Purch_Ord_Line_No, Purch_Ord_No, Revision_No, Description, Series_No, Dept, Style_No, Colour_No, Colour_Description, Freight_Mode, Quantity, FOB_Price, Order_Value
FROM Purch_Ord_Line
WHERE Purch_Ord_No = 1887 AND Revision_No = 1
ORDER BY Purch_Ord_Line_No
FOR READ ONLY
GO

DECLARE FOB_POL_Curs CURSOR
FOR
SELECT DISTINCT dbo.FOB.Purch_Ord_Line_No, dbo.Purch_Ord_Line.Purch_Ord_No, dbo.Purch_Ord_Line.Revision_No, dbo.Purch_Ord_Line.Description, dbo.Purch_Ord_Line.Series_No, dbo.Purch_Ord_Line.Dept, dbo.Purch_Ord_Line.Style_No, dbo.Purch_Ord_Line.Colour_No, dbo.Purch_Ord_Line.Colour_Description, dbo.Purch_Ord_Line.Freight_Mode, dbo.Purch_Ord_Line.Quantity, dbo.Purch_Ord_Line.FOB_Price, dbo.Purch_Ord_Line.Order_Value
FROM dbo.FOB INNER JOIN
dbo.Purch_Ord_Line ON dbo.FOB.Purch_Ord_Line_No = dbo.Purch_Ord_Line.Purch_Ord_Line_No AND dbo.Purch_Ord_Line.Purch_Ord_No = 1887 AND
dbo.Purch_Ord_Line.Revision_No = 0
ORDER BY FOB.Purch_Ord_Line_No
FOR READ ONLY
GO

DECLARE @POLNo Int, @POLPONo Int, @POLRevNo Smallint, @POLDescrip varchar (20), @POLSeriesNo varchar (5), @POLDept varchar (5), @POLStyleNo varchar (5), @POLColourNo Int, @POLColourDescrip varchar (20), @POLFreightMode Char (1), @POLQuantity Int, @POLFOBPrice Decimal, @POLOrderValue Decimal
OPEN PurchOrdLine_POL_Curs

DECLARE @FOBPOLNo Int, @FOBPOLPONo Int, @FOBPOLRevNo Smallint, @FOBPOLDescrip varchar (20), @FOBPOLSeriesNo varchar (5), @FOBPOLDept varchar (5), @FOBPOLStyleNo varchar (5), @FOBPOLColourNo Int, @FOBPOLColourDescrip varchar (20), @FOBPOLFreightMode Char (1), @FOBPOLQuantity Int, @FOBPOLFOBPrice Decimal, @FOBPOLOrderValue Decimal
OPEN FOB_POL_Curs

FETCH NEXT FROM PurchOrdLine_POL_Curs INTO @POLNo, @POLPONo, @POLRevNo, @POLDescrip, @POLSeriesNo, @POLDept, @POLStyleNo, @POLColourNo, @POLColourDescrip, @POLFreightMode, @POLQuantity, @POLFOBPrice, @POLOrderValue
FETCH NEXT FROM FOB_POL_Curs INTO @FOBPOLNo, @FOBPOLPONo, @FOBPOLRevNo, @FOBPOLDescrip, @FOBPOLSeriesNo, @FOBPOLDept, @FOBPOLStyleNo, @FOBPOLColourNo, @FOBPOLColourDescrip, @FOBPOLFreightMode, @FOBPOLQuantity, @FOBPOLFOBPrice, @FOBPOLOrderValue
WHILE @@Fetch_Status = 0 BEGIN

Update FOB
SET Purch_Ord_Line_No = @POLNo
FROM FOB, Purch_Ord_Line
WHERE CURRENT OF FOB_POL_Curs

FETCH NEXT FROM PurchOrdLine_POL_Curs INTO @POLNo, @POLPONo, @POLRevNo, @POLDescrip, @POLSeriesNo, @POLDept, @POLStyleNo, @POLColourNo, @POLColourDescrip, @POLFreightMode, @POLQuantity, @POLFOBPrice, @POLOrderValue
FETCH NEXT FROM FOB_POL_Curs INTO @FOBPOLNo, @FOBPOLPONo, @FOBPOLRevNo, @FOBPOLDescrip, @FOBPOLSeriesNo, @FOBPOLDept, @FOBPOLStyleNo, @FOBPOLColourNo, @FOBPOLColourDescrip, @FOBPOLFreightMode, @FOBPOLQuantity, @FOBPOLFOBPrice, @FOBPOLOrderValue

END

CLOSE FOB_POL_Curs
DEALLOCATE FOB_POL_Curs
CLOSE PurchOrdLine_POL_Curs
DEALLOCATE PurchOrdLine_POL_Curs
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top