gpt4 book ai didi

sql - 根据之前的插入日期限制插入

转载 作者:行者123 更新时间:2023-12-04 14:23:08 26 4
gpt4 key购买 nike

我想根据某些条件限制在我的表中插入。

我的 table 是这样的

col1   col2    Date Create
A 1 04/05/2016
B 2 04/06/2016
A 3 04/08/2016 -- Do not allow insert
A 4 04/10/2016 -- Allow insert

所以我想根据先前插入相同记录的天数来限制插入。

如示例所示,A 只能在上次插入 4 天后再次插入表中,而不是在此之前。

关于如何在 SQL/Oracle 中执行此操作的任何指示。

最佳答案

您只想在不存在具有相同 col1 和最近日期的记录时插入:

insert into mytable (col1, col2, date_create)
select 'B' as col1, 4 as col2, trunc(sysdate) as date_create from dual ins
where not exists
(
select *
from mytable other
where other.col1 = ins.col1
and other.date_create > ins.date_create - 4
);

因此不会插入不需要的记录。但是,不会引发异常。如果需要,我建议使用 PL/SQL block 或插入前触发器。

关于sql - 根据之前的插入日期限制插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36906357/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com