当我使用以下INSERT INTO SELECT语法操作数据库时,报ORA-01465的错误,然后当我削减插入字段和查询字段,该错误消失了。
所以我怀疑这是Oracle的一个bug。
如果有比较了解Oracle的同学,还请指教以下其他的可能性。谢谢!
下面时SQL实例:
当执行以下SQL时,
INSERT INTO DEL_DR_QY (
MEMO,
RESID,
PARENTS,
ISLEAF,
LEVEL_1,
STARTFLAG,
SORTORDER,
CREATETIME,
CREATOR,
CREATEUSERID,
CREATEUNIT,
MODIFYTIME,
MODIFYUSER,
SHARETYPE,
STDUNITID,
STDUNITCODE,
ZYYWLX,
TYSHXYDM,
ZZJGDM,
DWMC,
JYZZZCH,
DWSZDXZQHDM,
DWGLJGXZQHDM,
XKZBH,
JJLX,
SFFRDW,
SFZYJTYS,
ZYJTYSYWLB,
DWSZGKDM,
SFLSYGKQYJT,
QYLSGX,
ZJSJGSMC,
ZKQC,
ZHQC,
CZQCLS,
KYCB,
HYCB,
KHC,
EJKYZGS,
EJHYZGS,
SFDYJY,
DWFZR,
LXDH,
SFGSGK,
SFZQY,
SFCSKYZXCS,
SDHYJYYW,
MLKRECID,
SFNEW,
XYDM,
ZCH,
CLASS,
HYDM,
JGLX,
ZS,
DJJG,
DWLX,
ZCZB,
BZ,
FDDBR,
HYDMWB,
RECID,
RECVER,
OBJECTID,
VALIDTIME,
INVALIDTIME,
SCHEMEID,
UNITID,
ACCTYEAR,
STDCODE,
STDNAME,
STDICON,
SHORTNAME
) SELECT
MEMO,
RESID,
PARENTS,
ISLEAF,
LEVEL_1,
STARTFLAG,
SORTORDER,
CREATETIME,
CREATOR,
CREATEUSERID,
CREATEUNIT,
MODIFYTIME,
MODIFYUSER,
SHARETYPE,
STDUNITID,
STDUNITCODE,
ZYYWLX,
TYSHXYDM,
ZZJGDM,
DWMC,
JYZZZCH,
DWSZDXZQHDM,
DWGLJGXZQHDM,
XKZBH,
JJLX,
SFFRDW,
SFZYJTYS,
ZYJTYSYWLB,
DWSZGKDM,
SFLSYGKQYJT,
QYLSGX,
ZJSJGSMC,
ZKQC,
ZHQC,
CZQCLS,
KYCB,
HYCB,
KHC,
EJKYZGS,
EJHYZGS,
SFDYJY,
DWFZR,
LXDH,
SFGSGK,
SFZQY,
SFCSKYZXCS,
SDHYJYYW,
MLKRECID,
SFNEW,
XYDM,
ZCH,
CLASS,
HYDM,
JGLX,
ZS,
DJJG,
DWLX,
ZCZB,
BZ,
FDDBR,
HYDMWB,
RECID,
RECVER,
OBJECTID,
VALIDTIME,
INVALIDTIME,
SCHEMEID,
UNITID,
ACCTYEAR,
STDCODE,
STDNAME,
STDICON,
SHORTNAME
FROM
DR_QY
WHERE
RECID IN ('01686F2DCE912856286DC0AAF5069EAB');
报ORA-01465: 无效的十六进制数字
当削减部分字段时,
INSERT INTO DEL_DR_QY (
RECID,
RECVER,
OBJECTID,
VALIDTIME,
INVALIDTIME,
SCHEMEID,
UNITID,
ACCTYEAR,
STDCODE,
STDNAME,
STDICON,
SHORTNAME
) SELECT
RECID,
RECVER,
OBJECTID,
VALIDTIME,
INVALIDTIME,
SCHEMEID,
UNITID,
ACCTYEAR,
STDCODE,
STDNAME,
STDICON,
SHORTNAME
FROM
DR_QY
WHERE
RECID IN ('01686F2DCE912856286DC0AAF5069EAB');
SQL成功执行。