您需要做的是将用户的工作描述存储在会话变量中。
为此,您可以使用CREATE CONTEXT命令声明命名空间。 文档在这里。
那你有 一个AFTER-LOGON数据库触发器 查询USERS表并使用命名空间将作业描述存储在命名空间中 DBMS_SESSION.set_context() 。 文档在这里。
DBMS_SESSION.set_context()
最后,当涉及审计命令时,您将使用读取存储的值 SYS_CONTEXT() 并做出适当的决定:
SYS_CONTEXT()
if sys_context('AUDIT_INFO', 'JOB_DESCR') = 'Warehouse Assistant I' then call_your_audit_proc(.....); end if;