【发布时间】:2010-04-30 11:00:03
【问题描述】:
我正在为 Oracle Forms 6i 表单的保存按钮编写一个按下按钮时触发器,它必须满足几个场景。
以下是一些背景信息: 我们主要关注的领域是:
n_number,
alert_id,
end_date
对于所有三种情况,我们都将候选记录与数据库中的以下记录进行比较(为了 参数,让我们假设它们是数据库中唯一的记录 到目前为止):
alert_id|| n_number|| end_date
-------------------------------------
1|| 5|| _______
2|| 6|| 10/25/2009
场景一:用户输入一条新记录:
alert_id 1
n_number 5
end_date NULL
目标:防止用户提交重复行
场景二:用户输入一条新记录:
alert_id 1
n_number 10
end_date NULL
目标:通知用户此 alert_id 已存在,但如果需要,允许用户提交该行。
场景3:用户输入新记录:
alert_id 2
n_number 6
end_date NULL
目标:通知用户此 alert_id 在过去发生过(即它有一个非空的 end_date),但如果需要,允许用户提交该行。
我已经编写了代码,似乎符合前两个场景,但阻止了我实现第三个场景。
问题:当我进入第三个场景案例时,提示我提交记录,但是当我尝试这样做时,弹出“duplicate_stop”警报,阻止我。
问题:我收到以下错误:ORA-01843: not a valid month。在 Toad 中测试第三个场景的代码(对值进行硬编码等)时,一切似乎都很好。为什么我会在运行时遇到这些问题?
非常感谢您的帮助。
谢谢
【问题讨论】: