Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Konversi pernyataan gabungan ke MYSQL menggunakan kunci duplikat

Sintaks yang benar di MySQL adalah:

INSERT INTO XYZ (PARENT_JOB_NAME, CHILD_JOB_NAME, FIRST_EXECUTION, SANDBOX, PLATFORM_NAME)
    SELECT ITRR.WORKFLOW_NAME, ITRR.INSTANCE_NAME,
           MIN(ITRR.START_TIME), ITRR.SUBJECT_AREA, 'INFORMATICA'
    FROM ABC IWRR JOIN
         DEF ITRR
         ON IWRR.WORKFLOW_RUN_ID = ITRR.WORKFLOW_RUN_ID 
    WHERE IWRR.USER_NAME IN ('XYZ') AND
          ITRR.RUN_STATUS_CODE <> 2
    GROUP BY ITRR.WORKFLOW_NAME, ITRR.INSTANCE_NAME, ITRR.SUBJECT_AREA
ON DUPLICATE KEY UPDATE FIRST_EXECUTION = VALUES(FIRST_EXECUTION);

Perhatikan penggunaan yang tepat, eksplisit, standar , dapat dibaca JOIN sintaksis. Gunakan.

Perubahan utama adalah

  • Memperbaiki sintaks kuno.
  • Menghapus tanda kurung tidak diperlukan untuk select dalam insert . . . select (walaupun mungkin diperbolehkan).
  • Menghapus alias tabel, yang jelas tidak diperbolehkan.
  • Memperbaiki on duplicate key pernyataan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. masukkan mysql jika nilai tidak ada di tabel lain

  2. Cara memperbarui tabel secara otomatis di MYSQL menggunakan TRIGGER

  3. Spasi di bidang database tidak dihapus oleh trim()

  4. MySQL-Kinerja saat memesan pada kolom terhitung

  5. MySQL A atau B tetapi BUKAN keduanya