Dans la mesure du possible, évitez d'utiliser des CURSORs
. SQL est conçu pour faire les choses en masse, pas une ligne à la fois.
Étudiez des constructions comme
INSERT INTO ... SELECT ...;
CREATE TABLE ... SELECT ...;
Par exemple, pods_cursor
peut probablement être éliminé 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;
(Aïe. Mélanger DROITE et GAUCHE me fait tourner la tête comme une chouette.)
Utiliser OR
en ON
semble très inefficace. Quelle est l'intention ?