gpt4 book ai didi

oracle - 如何获取触发器中要执行ddl操作的表名

转载 作者:行者123 更新时间:2023-12-02 17:59:10 27 4
gpt4 key购买 nike

我想做类似的事情

create or replace trigger t1 before ddl on database
begin
insert into table1 values(//the table name on which the ddl will be performed);
end;

因此,如果我创建一个名为“Hello”的表,则“Hello”(表名)将插入到 table1 中

所以我不知道如何实际获取表名

最佳答案

That's show here in the Database Docs

所以你可以做类似的事情......

CREATE OR REPLACE TRIGGER ddl_trig
AFTER DDL
ON DATABASE
BEGIN
INSERT INTO loguser.ddl_log
(user_name, ddl_date, ddl_type,
object_type, owner,
object_name)
VALUES
(ora_login_user, SYSDATE, ora_sysevent,
ora_dict_obj_type, ora_dict_obj_owner,
ora_dict_obj_name);
END ddl_trig;
/

但是,您不应该构建自己的审核软件/代码。您应该使用数据库的内置审核系统。

See this.

免责声明:我在 Oracle 工作,是数据库团队的产品经理。

关于oracle - 如何获取触发器中要执行ddl操作的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74866520/

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