sql >> データベース >  >> RDS >> Mysql

MySQLINSERTINTOテーブルSELECTFROManother_table、inprocedure

    可能な限り、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で 非常に非効率に聞こえます。意図は何ですか?




    1. Apache Sparkで点火する–パート1

    2. フィールド値が配列にないすべてのフィールドを選択します

    3. Oracleの最大行と最小行に関連する値の取得

    4. postgresがクエリでインデックスを使用しないのはなぜですか