首页 > 解决方案 > SQL%ROWCOUNT 返回 1,但没有更新任何行

问题描述

这是我的 plsql 块的一部分。即使更新了行,它也只返回 1。我在这里缺少什么。

IF p_run_mode='U' THEN    
                BEGIN    
                   update tbbdetc set tbbdetc_desc = lv_new_detail_desc
                           where tbbdetc_detail_code = lv_detail_cd
                             and tbbdetc_dcat_code = lv_dcat_cd;
                   lv_upd_count := SQL%ROWCOUNT;               

                EXCEPTION 
                   WHEN OTHERS THEN
                        utl_file.put_line(lv_out_file,'Update Error: '||SQLERRM||','||lv_detail_cd||'\n',autoflush=>TRUE);               
                END; 

             END IF;
         END LOOP;
           gb_common.p_commit();
           utl_file.put_line(lv_out_file, 'Total Count: '||lv_total_count, Autoflush=>True);
           utl_file.put_line(lv_out_file, 'Updated rows: '||lv_upd_count, Autoflush=>True);
           utl_file.fclose(lv_out_file);

标签: oracleplsql

解决方案


推荐阅读