点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!
文章背景
创建步骤
SQL> select * from user1.table2;
ID REM RETIME
---------- ------------------------ ------------
1 1 rows 05-JAN-22
CREATE OR REPLACE TRIGGER system.ogg_trg_table2 AFTER INSERT OR DELETE OR UPDATE ON user1.table2
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
DECLARE
v_session_user varchar2(30);
BEGIN
v_session_user := SYS_CONTEXT(USERENV, SESSION_USER);
IF v_session_user = OGGUSER THEN
NULL;
ELSE
raise_application_error(-20008,非指定用户不允许修改,请联系管理员。);
END IF;
END;
/
完成。
效果展示
SQL>
SQL> conn user1/User1_123
Connected.
SQL>
SQL> insert into user1.table2 values(2,2 rows,sysdate);
insert into user1.table2 values(2,2 rows,sysdate)
*
ERROR at line 1:
ORA-20008: 非指定用户不允许修改,请联系管理员。ORA-06512: at "SYSTEM.OGG_TRG_TABLE2", line 8
ORA-04088: error during execution of trigger SYSTEM.OGG_TRG_TABLE2
SQL>
使用指定用户可以修改表:
SQL>
SQL> conn ogguser/Ogguser_123
Connected.
SQL>
SQL> insert into user1.table2 values(2,2 rows,sysdate);
1 row created.
SQL>
END
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129514.html
摘要:主键唯一标识表中每行的这个列称为主键。不为空,每行数据必须具有一个主键值。主要负责与用户进行交互,接受用户的指令,然后发出请求给,负责数据访问和处理,然后将结果返回给。注意虽然似乎通配符可以匹配任何东西,但有一个例外,即。 为什么写这篇文章 因为我最近的一些工作内容跟数据分析比较密切,所以需要对SQL使用得比较熟练,所以便阅读了《MySQL 必知必会》这本书,为了检验自己的阅读效果及帮...
摘要:主键唯一标识表中每行的这个列称为主键。不为空,每行数据必须具有一个主键值。主要负责与用户进行交互,接受用户的指令,然后发出请求给,负责数据访问和处理,然后将结果返回给。注意虽然似乎通配符可以匹配任何东西,但有一个例外,即。 为什么写这篇文章 因为我最近的一些工作内容跟数据分析比较密切,所以需要对SQL使用得比较熟练,所以便阅读了《MySQL 必知必会》这本书,为了检验自己的阅读效果及帮...
阅读 1247·2023-01-11 13:20
阅读 1555·2023-01-11 13:20
阅读 1008·2023-01-11 13:20
阅读 1675·2023-01-11 13:20
阅读 3968·2023-01-11 13:20
阅读 2510·2023-01-11 13:20
阅读 1305·2023-01-11 13:20
阅读 3474·2023-01-11 13:20