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

ORA-30926 - Gabungkan status

Selain penjelasan dari @zaratustra, penggabungan Anda juga mencoba mengatur fn dan ln dengan name yang sama nilai sehingga tidak akan memberikan hasil yang Anda inginkan bahkan itu berhasil. Dan Anda tidak dapat menggunakan fn atau ln dalam using klausa saat Anda mencoba memperbaruinya.

Jika name_test . Anda tabel memiliki kolom kunci utama (atau setidaknya unik) maka Anda dapat memasukkannya ke dalam gabungan, tetapi Anda masih hanya dapat memperbarui fn dengan benar atau ln nilai dalam satu pass.

Saya tidak yakin mengapa Anda tidak melakukan pembaruan sederhana:

update name_test nt
set fn = (select td.name from temp_distinct td where td.fn = nt.fn),
  ln = (select td.name from temp_distinct td where td.fn = nt.ln);

8 rows updated.

select * from name_test;

FN    LN  
----- -----
Mich  Steve 
Mich  Phil  
Mark  Dave  
Mich  Phil  
Mich  Dave  
Phil  John  
Steve Dean  
Steve Phil  


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Entity Framework - Panggil fungsi kustom (EDIT_DISTANCE)

  2. Penyedia OraOLEDB.Oracle tidak terdaftar di mesin lokal

  3. Cara membuka hasil kueri Oracle berdasarkan nilai kolom

  4. Bagaimana cara menggunakan Hibernate Session.doWork(...) untuk savepoints / transaksi bersarang?

  5. Cara mengurangi 2 tanggal di oracle untuk mendapatkan hasilnya dalam jam dan menit