oracle的trigger导致程序异常,怎样解决?
我在asp里面对oracle8i的表进行更新操作,对于一般的表更新操作正常,
但是对于一个有trigger的表,就出现了错误,信息如下:
Microsoft OLE DB Provider for ODBC Drivers エラー '80004005'
[Oracle][ODBC][Ora]ORA-01861: リテラルが書式文字列と一致しません。 ORA-06512: "IMICORA.IMIC_R101_UPDATE", 行 3 ORA-04088: トリガー IMICORA.IMIC_R101_UPDATEの実行中にエラーが発生しました。
/imic/DeliveryPrint.asp, 行 30
说是字符类型不一致,在trigger中发生错误。
trigger里的内容如下:
CREATE OR REPLACE TRIGGER IMICORA.IMIC_R101_UPDATE
BEFORE INSERT OR UPDATE
ON IMICORA.IDR101_RECEPTION_DATA
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
/* ↓イメージ削除機能組み込み 2003/12/26 */
if (NVL(:new.R101_FAXDEL_DATE,'1900/01/01') = NVL(:old.R101_FAXDEL_DATE,'1900/01/01')) then
:NEW.R101_UPDATE_DATE := SYSDATE;
end if;
/* ↑イメージ削除機能組み込み 2003/12/26 */
END;
/
我写的sql如下:
update IDR101_RECEPTION_DATA set R101_SAMEDAY_DATA_UMU = 'A' , R101_FAXDEL_DATE = sysdate where R101_RECEPTION_NO = '180994'
其中R101_FAXDEL_DATE的字段类型是date型。
而且这句sql在object browser中执行正常,就是写在asp中就出现上述错误,
请各位指点。