PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Perlu mengubah penggabungan Oracle menjadi kueri ke PostgreSQL

Anda dapat menggunakan INSERT ON CONFLICT () sebagai gantinya:

insert into feepay.TRPT_W2_REPORTS (ACCOUNT, URN, LAST_NAME, FIRST_NAME, ISENTITY, DOB, ADDRESS, LAST_UPDATE, STATUS)
WITH RWS AS (
  SELECT PROG.BINCLIENT, TRPT.PUT_DIRECTORY
  FROM  feepay.program2 PROG
    INNER JOIN  feepay.TRPT_W2_PROGRAMS TRPT
            ON (PROG.BINCLIENT = TRPT.BINCLIENT OR PROG.ISSUER_ID = TRPT.ISSUER_ID)
)
SELECT TCI.CUSTOMERNAME,
       TC.CUSTOMER_ID,
       TC.LAST_NAME,
       TC.FIRST_NAME,
       'Y'
       TC.DOB,
       TCA.ADDRESS, 
       now(), 
       'i'
FROM feepay.TAU_CARDNUMBERS TCN
  INNER JOIN feepay.TAU_CUSTOMER_CARDNUMBER TCCN ON (TCN.CARDNUMBER_ID = TCCN.CARDNUMBER_ID)
  INNER JOIN feepay.TBLCUSTOMERS TC ON (TCCN.CUSTOMER_ID = TC.CUSTOMER_ID)
  LEFT JOIN feepay.tau_customeraddress TCA ON (TC.CUSTOMER_ID = TCA.CUSTOMER_ID)
  INNER JOIN feepay.TAU_ISSUER TI ON (TI.ISSUER_ID = TCN.ISSUER_ID)
  INNER JOIN feepay.TBLCUSTOMERS TCI ON (TCI.CUSTOMER_ID = TI.CUSTOMER_ID)
  LEFT JOIN feepay.TRPT_W2_REPORTS TRPT ON (TRPT.URN = TC.CUSTOMER_ID)
WHERE BINCLIENT IN (SELECT BINCLIENT FROM RWS)
  AND TC.CUSTOMERNAME NOT IN ('freepay card','svds card')) TRPT2
ON CONFLICT (URN)
DO UPDATE SET
  ACCOUNT = excluded.ACCOUNT,
  LAST_NAME = excluded.LAST_NAME,
  FIRST_NAME = excluded.FIRST_NAME,
  DOB = excluded.DOB,
  ADDRESS = excluded.ADDRESS,
  LAST_UPDATE = now(),
  STATUS = 'u' /* uPDATED */

Anda perlu memverifikasi apakah kolom dalam daftar PILIH cocok dengan kolom seperti yang tercantum dalam daftar kolom INSERT.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyiapkan kunci asing dengan tipe data yang berbeda

  2. Bagaimana cara mengembalikan hasil SELECT di dalam suatu fungsi di PostgreSQL?

  3. Bagaimana menemukan jalur pg_config

  4. Bagaimana cara mengubah kata sandi pengguna PostgreSQL?

  5. PostgreSQL:Ubah PEMILIK pada semua tabel secara bersamaan di PostgreSQL