Ove possibile, evita di usare CURSORs
. SQL è progettato per eseguire operazioni in blocco, non una riga alla volta.
Studia costrutti come
INSERT INTO ... SELECT ...;
CREATE TABLE ... SELECT ...;
Ad esempio, pods_cursor
può probabilmente essere eliminato tramite:
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;
(Ahi. Mescolare DESTRA e SINISTRA mi fa girare la testa come quella di un gufo.)
Usando OR
in ON
suona molto inefficiente. Qual è l'intento?