ORA-00600: 内部错误代码, 参数: [kkqjpdpvpd: No join pred found.], [], [], [], [], [], [], [], [], [], [], []

方法一:

select /*+ NO_PUSH_PRED(T1) */ p.otstock_id,
               p.patch_no, --派工单号
               p.vin, --vin码
               p.customer_name, --客户名称
               p.out_man, --出库人员
               (select b.yg_name
                  from sys_users a, t_bic_yg b
                 where a.belong_person = b.yg_id
                   and a.login_name = p.out_man) as out_man_name,
               to_char(p.out_date, 'yyyy-mm-dd') as out_date, --出库日期
               to_char(p.pre_commit_date, 'yyyy-mm-dd') as pre_commit_date, --预交日期
               p.pack_man, --领料人员
               p.repair_outstock_no --维修出库单号
          from T_PA_REPAIR_PATCH p
         where p.otstock_id not in
               (select /*+ NO_PUSH_PRED(M) NO_PUSH_PRED(N) */ m.otstock_id
                  from (select rp.otstock_id,
                               rp.patch_no,
                               sum(nvl(d.return_count, 0)) as thl
                          from T_OUTSTOCK_RETURN r --出库退货表
                          join t_Outstock_Return_Detail d
                            on d.return_id = r.return_id --出库退货明细
                          JOIN T_PA_REPAIR_PATCH rp
                            ON r.ref_no = rp.otstock_id --维修出库表
                         group by rp.patch_no, rp.otstock_id) m,
                       (select a.otstock_id,
                               patch_no,
                               sum(Out_Stock_Count) as ckl
                          from t_pa_repair_out_stock_detail a --维修出库明细表
                         group by a.otstock_id, a.patch_no) n
                 where m.patch_no = n.patch_no
                   and m.otstock_id = n.otstock_id
                   and thl = ckl) 
方法二:在要执行的语句前加上alter session set "_optimizer_push_pred_cost_based" = FALSE; 
alter session set "_optimizer_push_pred_cost_based" = FALSE; 
select p.otstock_id,
       p.patch_no, --派工单号
       p.vin, --vin码
       p.customer_name, --客户名称
       p.out_man, --出库人员
       (select b.yg_name
          from sys_users a, t_bic_yg b
         where a.belong_person = b.yg_id
           and a.login_name = p.out_man) as out_man_name,
       to_char(p.out_date, 'yyyy-mm-dd') as out_date, --出库日期
       to_char(p.pre_commit_date, 'yyyy-mm-dd') as pre_commit_date, --预交日期
       p.pack_man, --领料人员
       p.repair_outstock_no --维修出库单号
  from T_PA_REPAIR_PATCH p
 where p.otstock_id not in
       (select m.otstock_id
          from (select rp.otstock_id,
                       rp.patch_no,
                       sum(nvl(d.return_count, 0)) as thl
                  from T_OUTSTOCK_RETURN r --出库退货表
                  join t_Outstock_Return_Detail d on d.return_id =
                                                     r.return_id --出库退货明细
                  JOIN T_PA_REPAIR_PATCH rp ON r.ref_no = rp.otstock_id --维修出库表
                 group by rp.patch_no, rp.otstock_id) m,
               (select a.otstock_id, patch_no, sum(Out_Stock_Count) as ckl
                  from t_pa_repair_out_stock_detail a --维修出库明细表
                 group by a.otstock_id, a.patch_no) n
         where m.patch_no = n.patch_no
           and m.otstock_id = n.otstock_id
           and thl = ckl)



ORA-00600Oracle数据库的一个内部错误代码,表示数据库遇到了一个未处理的异常。这个错误代码Oracle数据库自己定义的错误,它的出现通常表示数据库引擎遇到了一些无法处理和解释的异常情况。 ORA-00600错误代码可能由多种原因引起,包括但不限于以下情况: 1. 数据库软件的 bug 或故障。 2. 数据库文件损坏或错误。 3. 数据库中的表结构或数据不一致。 4. 数据库配置错误或参数设置不正确。 5. 操作系统错误或硬件故障。 在遇到ORA-00600错误时,我们可以进行以下几个步骤来解决问题: 1. 记录错误代码、错误时间以及相关的错误信息。这些信息可以帮助我们更好地定位问题。 2. 检查数据库软件版本和补丁情况。有时,Bug 可能已经被厂商修复并发布了相应的补丁。 3. 检查数据库文件是否完整且没有损坏。可以运行相关的数据库维护工具来检查和修复损坏的文件。 4. 检查数据库结构和数据的一致性。可以运行数据库提供的工具来检查和修复表结构或数据不一致的问题。 5. 检查数据库配置和参数设置。可以参考数据库文档来调整相关的配置参数。 6. 如果问题仍然存在,可以联系Oracle的技术支持团队寻求帮助。他们可以通过分析错误日志和数据库状态来提供更具体的解决方案。 总之,ORA-00600是一个内部错误代码,表示Oracle数据库遇到了无法处理的异常。要解决这个问题,我们需要仔细分析错误信息,检查数据库的结构、数据和配置,如果需要可以联系厂商的技术支持团队来寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值