sql >> Database teknologi >  >> RDS >> Oracle

ORA-30926 - Sammenfletningstilstand

Ud over forklaringen fra @zaratustra forsøger din fletning også at indstille fn og ln til det samme name værdi, så det ville ikke give det resultat, du ønsker, selvom det virkede. Og du kan ikke bruge fn eller ln i using klausul, mens du forsøger at opdatere dem.

Hvis din name_test tabellen havde en primær nøgle (eller i det mindste unik) kolonne, så kunne du inkludere det i sammenfletningen, men du ville stadig kun være i stand til at opdatere enten fn korrekt. eller ln værdi i én omgang.

Jeg er ikke sikker på, hvorfor du ikke laver en simpel opdatering:

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. MySQL langsom forespørgsel ved hjælp af filsortering

  2. Hvordan kan jeg finde ud af standardtegnsættet/sorteringen i min MySQL

  3. Find antallet af TOM- eller NULL-kolonner i en MySQL-tabel

  4. Hvordan konstruerer jeg en krydsdatabaseforespørgsel i MySQL?