问题描述
嗨,
我需要创建一个约束,该约束将不允许在过去预订约会。
我想知道是否有人可以帮助我。
谢谢。
朱莉安娜
我需要创建一个约束,该约束将不允许在过去预订约会。
我想知道是否有人可以帮助我。
谢谢。
朱莉安娜
专家解答
可悲的是,你不能在检查约束中引用sysdate。
所以这是一个触发器可以帮助你的案例。当有人试图在过去插入日期时,使用此方法引发异常:
从t中选择 *;
create table t ( c1 date ); alter table t add constraint t_future check ( c1 > sysdate ); ORA-02436: date or system variable wrongly specified in CHECK constraint
所以这是一个触发器可以帮助你的案例。当有人试图在过去插入日期时,使用此方法引发异常:
create or replace trigger t_bi
before insert on t
for each row
begin
if :new.c1 < sysdate then
raise_application_error (
-20001, 'No past bookings!'
);
end if;
end;
/
insert into t values ( sysdate );
insert into t values ( sysdate - 1 );
ORA-20001: No past bookings!
C1
20-MAR-2019 16:41:18 从t中选择 *;
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




