今天中山公司让远程看下调度安排批次总是报单据已经安排批次的错误,因为是同样的源程序,做正式库就不报错,做测试库就报错了,想到的是数据的问题或者是数据库设置的问题,于是就对源程序进行调试,程序在走到datawindow的of_update()的时候报错,这个很明显,应该是更新sql报的错,于是把datawindow的sql语句拿出来,根据安排批次的业务过程,最终抽取为一句sql语句:UPDATE VIW_CK_BCARR SET ZUOY_STATE='D1',BOCI_NO='00000012' WHERE DANJ_NO ='XXXXXX';既然从pb走是报错的,所需拿出来在plsql里面跑了一把,发现报“ORA-01779: 无法修改与非键值保存表对应的列”,明显是后台的错误,自己想应该是和表键有关,于是看和VIW_CK_BCARR试图相关联的8个表,发现这八个表都没主键,可见是刚建立的库,并且建立有问题,对照正式库把每个表的主键加上后,再执行该语句成功,再前台执行批次安排,也