Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Perbarui tabel dari tabel lain di Oracle

Dalam hal ini Anda harus menggunakan pernyataan MERGE seperti di bawah ini:

DECLARE
  l_date DATE:=TO_DATE('01/04/2017','DD/MM/YYYY');
BEGIN
  LOOP
    EXECUTE IMMEDIATE 'MERGE INTO EMPSHIFT E
USING SCHEDULEEMPLOYEES S
ON (S.EMPLOYEEID=E.EMPLOYEEID AND S.DAYDATE=TO_DATE('''||TO_CHAR(l_date)||''',''DD/MM/YYYY''))
WHEN MATCHED 
THEN UPDATE SET E."'||TO_CHAR(l_date)||'"=S.SHIFT';
    l_date:=l_date+1;
    EXIT
  WHEN l_date>TO_DATE('30/04/2017','DD/MM/YYYY');
  END LOOP;
END;

Anda menyebutkan bahwa Anda ingin memperbarui catatan, tetapi jika Anda ingin memasukkan catatan yang hilang (untuk EMPLOYEEID yang hilang di tabel EMPSHIFT), silakan merujuk ke merge_insert_clause



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-01722:nomor tidak valid pada Entity Framework

  2. Temukan panjang baris terpanjang dalam kolom di oracle

  3. Desain database penjadwalan dokter

  4. Mematikan dan Memulai Instans Oracle

  5. Bagaimana cara menggunakan urutan Oracle yang ada untuk menghasilkan id dalam hibernasi?