gpt4 book ai didi

automation - Oracle11g 中的自动化任务

转载 作者:行者123 更新时间:2023-12-02 05:29:50 24 4
gpt4 key购买 nike

我正在为拍卖创建一个数据库,其中有一个表存储要拍卖的元素的条目。

create table items(
item_ID number(5) PRIMARY KEY,
SDate DATE NOT NULL,
EDate DATE NOT NULL, //end date for auction
minBid number(5,2) NOT NULL,
bidInc number(2,2) NOT NULL,
title varchar2(20) NOT NULL,
descr varchar2(255),
currentBid number(5,2)
)

现在,在结束日期过去后,我希望数据库自动从表中删除该条目。
我该怎么做?

最佳答案

好吧,您可以在数据库中编写一个作业,删除早于 X 时间的行,但由于您将其标记为 C#,我猜您希望在您的拍卖应用程序中完成它。

在这种情况下,您可以创建一个 Timer,它将在每次运行时运行 DELETE FROM items WHERE EDate > XXX 查询。

编辑:在这种情况下,您可以定义一个将删除旧行的存储过程,然后您需要使用 DBMS_JOB 安排它。我手头没有 Oracle 数据库来测试这个,但你可以尝试运行这个:

创建存储过程:

create or replace procedure delete_old_auctions
as
begin
delete from items where edate < sysdate
end;

然后您需要创建一个作业,每隔 X 次执行此存储过程。

dbms_job.submit(
what=>'your_db.delete_old_auctions',
next_date=>sysdate+1/24, -- start next hour
interval=>'sysdate+1/24'); -- Run every hour

关于automation - Oracle11g 中的自动化任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12544936/

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