【发布时间】:2020-04-10 09:44:57
【问题描述】:
我正在尝试创建一个触发器,如果当前时间在晚上 10 点到早上 6 点之间,它会提示错误消息。这是我写的代码:
CREATE OR REPLACE TRIGGER horarioModificar
BEFORE UPDATE ON employees
FOR EACH ROW
DECLARE
horaActual NUMBER:= DATEPART(hour, SYSDATETIME());
BEGIN
IF horaActual < 6 OR horaActual > 22 THEN
raise_application_error(-20250,'No se puede realizar ningún cambio entre las 22:00 y las 6:00');
END IF;
END;
/
我收到一条错误消息,提示需要声明 DATEPART(错误代码 PLS-00201)。有人知道我的代码有什么问题吗?
【问题讨论】:
-
如果您为特定的 rdbms 添加标签(例如 mysql 或 sql-server)会有所帮助。日期时间功能因这些系统而异。
-
我添加了
oracle标签,因为错误代码PLS-00201表示这是您正在运行的数据库。
标签: sql oracle date database-trigger datepart