如何从sql server TSQL sp中的更新记录获取更新的datetime

时间:2017-11-01 17:35:02

标签: sql sql-server-2008 tsql sql-server-2012

我有一个主表tbl_con,还有一个审核tbl_Aud_contbl_con在更新时会触发(AFTER)。以前的记录(已删除)记录将被插入到AUDIT表中。

例如

tbl_con

ID updated_date Fname Lname status 
1001 10-02-2017 ajay chain blocked

tbl_Aud_con

ID updated_date Fname Lname status 
1001 10-01-2017 ajay chain Allow

在此示例中,允许记录更新为在主tbl_con中被阻止。 记录更新时我想要那个日期。在这种情况下,10-02-2017来自tbl_con

有多种情况。我想要阻止记录更新日期

  1. 当记录在主表中并且已被阻止时,将显示其更新的获取。

  2. 记录在主表中处于阻止状态,其NULL状态在审核中,然后主要表格更新日期将显示。因为此记录首先是NULL并且已更新为已阻止

  3. 当记录获得允许和阻止的多个时间并且在主表中阻止其当前状态时。然后将显示其上次更改为阻止的时间。它很难,因为当其他字段得到更新时,它也有审计条目。

  4. 例如

    tbl_con

    ID updated_date Fname Lname status 
    1001 10-05-2017 ajay chain blocked
    

    tbl_Aud_con

    ID updated_date Fname Lname status 
    1001 10-01-2017 ajay chavan NULL
    1001 10-02-2017 ajay chain Allow
    1001 10-03-2017 ajay raj Blocked
    1001 10-04-2017 ajay raj Allow
    1001 10-05-2017 ajay chain blocked
    1001 10-05-2017 ajay rock blocked
    

    在这种情况下,当状态更改时阻止在10-04-2017的记录允许被阻止。

    请帮忙。

0 个答案:

没有答案