Където е възможно, избягвайте използването на CURSORs
. SQL е проектиран да прави неща групово, а не един ред наведнъж.
Изучавайте конструкции като
INSERT INTO ... SELECT ...;
CREATE TABLE ... SELECT ...;
Например pods_cursor
вероятно може да бъде елиминиран чрез:
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;
(Ох. Смесването на ДЯСНО и НАЛЯВО кара главата ми да се върти като на бухал.)
Използване на OR
в ON
звучи много неефективно. Какво е намерението?