Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL INSERT INTO таблица SELECT FROM another_table, вътре в ПРОЦЕДУРА

Където е възможно, избягвайте използването на 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 звучи много неефективно. Какво е намерението?




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да дам на потребител достъп до всички съхранени процедури на mysql?

  2. транспониране на колони в редове

  3. MySQL Insert с While Loop

  4. Изберете редове с множество етикети... има ли по-добър начин?

  5. MySQL заключване в грешка при дублиран ключ