Om möjligt, undvik att använda CURSORs
. SQL är utformad för att göra saker i bulk, inte en rad i taget.
Studera konstruktioner som
INSERT INTO ... SELECT ...;
CREATE TABLE ... SELECT ...;
Till exempel, pods_cursor
kan förmodligen elimineras via:
INSERT INTO tblResultsErrors
(POD, QtyMeasured)
SELECT els.LocationCode, els.Quantity
FROM EnergyLocation el
RIGHT JOIN EnergyLocationSeries els
ON els.LocationCode = el.Code2 OR els.LocationCode = el.Codep
LEFT JOIN EnergyContract ec
on ec.LocationId = el.Id
WHERE el.Code2 IS NULL;
(Aj. Att blanda HÖGER och VÄNSTER får mitt huvud att snurra som en ugglas.)
Använder OR
i ON
låter väldigt ineffektivt. Vad är avsikten?