oracle - 如何在没有 sysdate 的情况下解决 2019 年以上没有日期条目
问题描述
如上图所示,我有一个日期输入字段和一个打开日历的选择日期按钮。
现在我想设置一个触发器,阻止用户输入大于 01.01.2019 的日期并引发错误
您不能输入大于 01.01.2019 的日期
但我不想使用系统日期,因为用户可以更改系统日期而不是输入数据。
解决方案
你说“用户可以更改系统日期”是什么意思?这是 Oracle Forms,对吧?SYSDATE 返回数据库服务器系统日期,而不是客户端(即用户自己的 PC)日期,所以 - 继续使用 SYSDATE,这没问题(当然,除非用户可以访问数据库服务器,但那是另一回事了巨大的安全漏洞)。
顺便说一句,除了使用触发器(即 WHEN-VALIDATE-ITEM)之外,更简单的方法是打开项目的属性面板并使用“最高允许值”属性,设置为今天。