根据日期和时间自动添加新的寄存器

本文关键字:添加 寄存器 日期 时间 | 更新日期: 2023-09-27 18:17:41

我举个例子来解释这个问题>>我有两个表"LOAN"answers"FINE"LOAN的属性有:IDLoan(INT), IDUser(INT), IDBook(INT), Date(DATETIME)。FINE的属性有:IDFine(INT), IDLoan(INT), Date(DATETIME)。我希望我的程序在表"FINE"中自动创建新的寄存器,如果它有任何过期的LOAN DATA(仅限贷款3天)。

1)…我怎么做才能自动增加贷款日期?我需要不断更新这个属性吗??

我知道,我需要为condition>> 做这个
    var LOANS = from loan in db.Loan select loan;
    LOANS = LOANS.Where(s=>s.Date.Contains(DATE.NOW));
    IF(LOANS!=NULL)
    and..... Create REGISTER IN TABLE FINE.....etc.

有一些例子吗??

谢谢! !:)

根据日期和时间自动添加新的寄存器

我认为您需要的是创建一个SQL Job,它每x次运行一次,检查LOAN表中过期的记录,如果还没有创建,则在FINE表中创建一条记录。

不需要更新LOAN表中的任何内容,只需创建一个作业将运行的存储过程,在存储过程中您可以放入类似

的内容
INSERT INTO FINE (IDLoan, Date)
SELECT IDLoan, GETDATE()
FROM LOAN L
LEFT JOIN FINE F ON F.IDLoan = L.IDLoan
WHERE (L.Date >= DATEADD(DD,-3,GETDATE()) AND F.IDLoan IS NULL

显然,这将根据您的业务规则而有所不同,在这种情况下,查询将日期超过3天的所有贷款的记录插入到FINE表中,这些记录以前没有添加过。

您所需要做的就是指定作业的运行频率,它会处理好这些,而不需要在表中创建任何触发器或约束。