Hvor det er muligt, undgå at bruge CURSORs
. SQL er designet til at gøre ting i bulk, ikke én række ad gangen.
Undersøg konstruktioner som
INSERT INTO ... SELECT ...;
CREATE TABLE ... SELECT ...;
For eksempel pods_cursor
kan sandsynligvis elimineres 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;
(Av. At blande HØJRE og VENSTRE får mit hoved til at snurre som en ugles.)
Brug OR
i ON
lyder meget ineffektivt. Hvad er hensigten?