在写一个sql 语句
select * from dj_bygl_byhdjxx@hnds dj
left join dm_gy_swjg@hnds swjg on dj.byd_zgswjg_dm=swjg.swjg_dm
left join dm_gy_swry@hnds swry on dj.byd_swgly_dm=swry.swry_dm
left join dm_gy_djzclx@hnds zclx on dj.djzclx_dm=zclx.djzclx_dm
where 1=1 and dj.NSRZT_DM <>'50' and dj.BYD_ZGSWJG_DM like '24103%'
出现了一个“ORA-00600: internal error code, arguments: [qerrmObnd1], [1084], [ORA-01084: invalid argument in OCI call], [], [], [], [], []”这样的错误,试了很多方法,还是报同样的错误,后来发现是主表的字段(dj.byd_zgswjg_dm,byd_swgly_dm,dj.djzclx_dm)都有值为null的记录,这时无意中注释了一行(left join),执行,不再报错,……,后来发现任意注释一行,都不会报错,可是注释掉那一行都不是想要的结果呀,无奈,从where语句中加了一个条件“dj.byd_swgly_dm is not null “ 不再报错了,且只能是byd_swgly_dm这个字段, 问题就暂时这样解决了,只知其然,不知其所以然,在此记录下来,望各位走过路过的大牛们利用歇脚的功夫指点一下迷津