Oracle
 sql >> база данни >  >> RDS >> Oracle

ora-30926 грешка

Мисля, че имате тази грешка, защото имате редове с еднакъв v_report_id в клаузата за използване. Бихте ли опитали това

merge into test_output target_table 
USING (SELECT 
        CASE WHEN c.test_code = 1 THEN b.mean_diff 
             WHEN c.test_code = 2 THEN b.norm_dist 
             WHEN c.test_code = 3 THEN b.ks_stats 
             WHEN c.test_code = 4 THEN b.ginni 
             WHEN c.test_code = 5 THEN b.auroc 
             WHEN c.test_code = 6 THEN b.info_stats 
             WHEN c.test_code = 7 THEN b.kl_stats 
                    END val1 
     FROM   combined_approach b inner join test_output c
          on  b.v_report_id = c.v_report_id 
          and c.upper_score = b.band_code 
             WHERE c.v_report_id = lv_report_id  
              group by v_report_id          
) source_table
on (target_table.v_report_id = source_table.v_report_id
    and  target_table.v_report_id = lv_report_id)
when matched then update  
   SET   target_table.upper_value = source_table.val1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Обръщане на данни с помощта на две колони

  2. Как да свия временното пространство за таблица в oracle?

  3. select distinct(date) връща една и съща дата няколко пъти

  4. Oracle PL/SQL – Колекции (вложени таблици)

  5. pl/sql Съхранена процедура... къде отива времето за изпълнение?