Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建触发器以在oracle中存储所有DML? 使用Oracle的审计功能将更简单、更有效。你不使用它有什么原因吗?您正在运行哪个版本的Oracle?版本:Oracle 11g和12cI希望在用户触发表时有一个触发器来存储表中的所有DML。因此,希望创建_Oracle_Database Trigger - Fatal编程技术网

如何创建触发器以在oracle中存储所有DML? 使用Oracle的审计功能将更简单、更有效。你不使用它有什么原因吗?您正在运行哪个版本的Oracle?版本:Oracle 11g和12cI希望在用户触发表时有一个触发器来存储表中的所有DML。因此,希望创建

如何创建触发器以在oracle中存储所有DML? 使用Oracle的审计功能将更简单、更有效。你不使用它有什么原因吗?您正在运行哪个版本的Oracle?版本:Oracle 11g和12cI希望在用户触发表时有一个触发器来存储表中的所有DML。因此,希望创建,oracle,database-trigger,Oracle,Database Trigger,如何创建触发器以在oracle中存储所有DML? 使用Oracle的审计功能将更简单、更有效。你不使用它有什么原因吗?您正在运行哪个版本的Oracle?版本:Oracle 11g和12cI希望在用户触发表时有一个触发器来存储表中的所有DML。因此,希望创建一个触发器,以便在运行DML语句时自动触发。执行此触发器时是否出现特定错误?无错误,但DML查询未存储在表中 CREATE OR REPLACE TRIGGER trg_dml_info -- BEFORE LOGOFF ON DATABA

如何创建触发器以在oracle中存储所有DML?
使用Oracle的审计功能将更简单、更有效。你不使用它有什么原因吗?您正在运行哪个版本的Oracle?版本:Oracle 11g和12cI希望在用户触发表时有一个触发器来存储表中的所有DML。因此,希望创建一个触发器,以便在运行DML语句时自动触发。执行此触发器时是否出现特定错误?无错误,但DML查询未存储在表中
CREATE OR REPLACE TRIGGER trg_dml_info
 -- BEFORE LOGOFF  ON DATABASE
AFTER SELECT OR INSERT  OR UPDATE OR DELETE ON SCHEMA
   DECLARE
          session_id VARCHAR2(10),
          user_logon_name VARCHAR2(30),
          sql_idd VARCHAR2(10),
          sql_child_numbert VARCHAR2(30),
          optimizer_modee VARCHAR2(30),
          sql_textt VARCHAR2(1000)
BEGIN
SELECT x.sid  
    INTO session_id
    FROM v$sqlarea x;

SELECT x.USERNAME  
    INTO user_logon_name
    FROM v$sqlarea x;

SELECT x.SQL_ID  
    INTO sql_idd
    FROM v$sqlarea x;

SELECT x.SQL_CHILD_NUMBER  
    INTO sql_child_numbert
    FROM v$sqlarea x;

SELECT x.OPTIMIZER_MODE  
    INTO optimizer_modee
    FROM v$sqlarea x;

SELECT x.SQL_TEXT  
    INTO sql_textt
    FROM v$sqlarea x;

INSERT INTO DML$info VALUES
    (session_id,user_logon_name,sql_idd,sql_child_numbert,optimizer_modee,sql_textt)
    where x.sql_hash_value = sqlarea.hash_value
            and x.sql_address = sqlarea.address;
commit;
END;