gpt4 book ai didi

oracle - Oracle表审计添加日期和修改日期

转载 作者:行者123 更新时间:2023-12-02 06:55:52 26 4
gpt4 key购买 nike

根据要求,我需要为每个表支持两个必填列:ADDED_DATE、MODIFIED_DATE。
这些旨在用于 DBA/审计目的。

当我从应用程序内插入/更新记录时,是否可以使这些东西完全自动化,由数据库本身隐式支持?

最佳答案

在表上创建一个触发器(在更新每行之前)。

SQL> create table foo (hi varchar2(10), added_date date, modified_date date);

Table created.

SQL> create trigger foo_auifer
2 before update or insert on foo
3 for each row
4 declare
5 begin
6 if (inserting) then
7 :new.added_date := sysdate;
8 elsif (updating) then
9 :new.modified_date := sysdate;
10 end if;
11 end;
12 /

Trigger created.

SQL> insert into foo (hi) values ('TEST');

1 row created.

SQL> insert into foo (hi) values ('TEST2');

1 row created.

SQL> update foo set hi = 'MODDED' where rownum = 1;

1 row updated.

SQL> alter session set nls_date_format='dd-mon-yyyy hh24:mi:ss';

Session altered.

SQL> select * from foo;

HI ADDED_DATE MODIFIED_DATE
---------- -------------------- --------------------
MODDED 07-nov-2012 15:28:28 07-nov-2012 15:28:39
TEST2 07-nov-2012 15:28:30

SQL>

关于oracle - Oracle表审计添加日期和修改日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13272711/

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