可能な限り、CURSORs
の使用は避けてください 。 SQLは、一度に1行ではなく、一括して処理するように設計されています。
のような研究構成
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
で 非常に非効率に聞こえます。意図は何ですか?