oracle添加日志表
--创建表 CREATE TABLE KNET_DOMAIN_DNS_FORWARDED
(
ID VARCHAR2(36 BYTE) DEFAULT sys_guid() NOT NULL
, KEYWORD VARCHAR2(256 BYTE) NOT NULL
, CNAME VARCHAR2(1000 BYTE)
, URL VARCHAR2(1000 BYTE) NOT NULL
, CREATE_DATE DATE DEFAULT sysdate NOT NULL
, UPDATE_DATE DATE
, AUDIT_STATUS VARCHAR2(16 BYTE)
, AUDIT_DATE DATE
, AUDIT_REASON VARCHAR2(512 BYTE)
, IS_FORWARDED VARCHAR2(20 BYTE) DEFAULT 'N'
, CONSTRAINT KNET_DOMAIN_DNS_FORWARDED_PK PRIMARY KEY
(
ID
)
) CREATE TABLE KNET_DOMAIN_DNS_FORWARDED_LOG
(
LOG_ID VARCHAR2(36 BYTE) NOT NULL
, LOG_TIME DATE NOT NULL
, LOG_OP VARCHAR2(128 BYTE) NOT NULL
, ID VARCHAR2(36 BYTE) NOT NULL
, KEYWORD VARCHAR2(256 BYTE) NOT NULL
, CNAME VARCHAR2(1000 BYTE)
, URL VARCHAR2(1000 BYTE) NOT NULL
, CREATE_DATE DATE NOT NULL
, UPDATE_DATE DATE
, AUDIT_STATUS VARCHAR2(16 BYTE)
, AUDIT_DATE DATE
, AUDIT_REASON VARCHAR2(512 BYTE)
, IS_FORWARDED VARCHAR2(20 BYTE)
, CONSTRAINT KNET_DOMAIN_DNS_FORWARDED__PK PRIMARY KEY
(
LOG_ID
)
)
--创建序列
CREATE SEQUENCE
KNET_DOMAIN_DNS_FORWARDED_SEQ
MINVALUE 1
MAXVALUE 999999999999999
INCREMENT BY 1
START WITH 1 CACHE 20 NOORDER NOCYCLE ;
--创建触发器
create or replace TRIGGER DOMAIN_DNS_FORWARDED_TIGER
after insert or update or delete on KNET_DOMAIN_DNS_FORWARDED
for each row
declare
-- local variables here
begin
if inserting then
INSERT INTO KNET_DOMAIN_DNS_FORWARDED_LOG (LOG_ID,LOG_TIME,LOG_OP,ID,KEYWORD,CNAME,URL,CREATE_DATE,UPDATE_DATE,AUDIT_STATUS,AUDIT_DATE,AUDIT_REASON,IS_FORWARDED)
VALUES(trim(to_char(KNET_DOMAIN_DNS_FORWARDED_SEQ.nextval, '')),sysdate,'',:new.ID,:new.KEYWORD,:new.CNAME,:new.URL,:new.CREATE_DATE,:new.UPDATE_DATE,:new.AUDIT_STATUS,:new.AUDIT_DATE,:new.AUDIT_REASON,:new.IS_FORWARDED);
elsif updating then
INSERT INTO KNET_DOMAIN_DNS_FORWARDED_LOG (LOG_ID,LOG_TIME,LOG_OP,ID,KEYWORD,CNAME,URL,CREATE_DATE,UPDATE_DATE,AUDIT_STATUS,AUDIT_DATE,AUDIT_REASON,IS_FORWARDED)
VALUES(trim(to_char(KNET_DOMAIN_DNS_FORWARDED_SEQ.nextval, '')),sysdate,'',:new.ID,:new.KEYWORD,:new.CNAME,:new.URL,:new.CREATE_DATE,:new.UPDATE_DATE,:new.AUDIT_STATUS,:new.AUDIT_DATE,:new.AUDIT_REASON,:new.IS_FORWARDED);
else
INSERT INTO KNET_DOMAIN_DNS_FORWARDED_LOG (LOG_ID,LOG_TIME,LOG_OP,ID,KEYWORD,CNAME,URL,CREATE_DATE,UPDATE_DATE,AUDIT_STATUS,AUDIT_DATE,AUDIT_REASON,IS_FORWARDED)
VALUES(trim(to_char(KNET_DOMAIN_DNS_FORWARDED_SEQ.nextval, '')),sysdate,'',:old.ID,:old.KEYWORD,:old.CNAME,:old.URL,:old.CREATE_DATE,:old.UPDATE_DATE,:old.AUDIT_STATUS,:old.AUDIT_DATE,:old.AUDIT_REASON,:old.IS_FORWARDED);
end if;
end DOMAIN_DNS_FORWARDED_TIGER;
oracle添加日志表的更多相关文章
- [Oracle]理解undo表空间
一.回退段介绍 在Oracle数据库中,当某个事物对数据进行修改时,Oracle首先将数据的原始值保存到一个回退段中.一个事物只能将它的回退信息保存到一个回退段中,而多个并行事物可以使用同一个回退段. ...
- Oracle错误览表
Oracle 错误总结及问题解决 ORA 本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html 作者@承影剑 ORA-0 ...
- Oracle的外部表
一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...
- WPF根据Oracle数据库的表,生成CS文件小工具
开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...
- 卸载oracle删除注册表脚本
一.前言 在我们操作系统中,有时要卸载oracle数据库,每一次都要去删除win下的注册表,为了方便删除注册表的信息,下面通过一种删除注册表快捷的脚本. 二.脚本信息 Windows Registry ...
- oracle 归档日志
归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档 ...
- oracle 报警日志详解
oracle报警日志是一个非常重要的日志,其有两种实现方法: 1.通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了 2.通过外部表来实现,这种方法避免了方法一种的 ...
- 记一次ORACLE的UNDO表空间爆满分析过程
这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...
- Oracle重做日志文件
一.联机重做日志的规划管理 1.联机重做日志 记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等) 提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复) 可以被分组管理 11 ...
随机推荐
- 对于HIVE架构的理解
1.Hive 能做什么,与 MapReduce 相比优势在哪里 关于hive这个工具,hive学习成本低,入手快,对于熟悉sql语法的人来说,操作简单,熟悉. 2.为什么说 Hive 是 Hadoo ...
- Delphi FindowWindow,FindowWindowEx
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms ...
- SQLAlchemy 一对多
下述範例描述了電影同導演的多對一關係.範例中說明了從用戶定義的Python類建立數據表的方法,雙方關係例項的建立方法,以及最終查詢數據的方法:包括延遲載入和預先載入兩種自動生成的SQL查詢. 結構定義 ...
- Java学习-021-Properties 获取配置项对应的值
在日常的脚本编写过程中,通常会获取配置文件中的配置项,以执行相应的业务逻辑. 小二上码...若有不足之处,敬请大神指正,不胜感激! 获取配置项值的源码如下所示: /** * Get value fro ...
- 关于lnmp下搭thinkPHP无法找到指定静态页面
我在lnmp 下架了一个thinkPHP框架,非常奇怪,在环境都配置好后,我在url里输入localhost:10007/index.php/member/login,正常来说应该显示login.ht ...
- iOS Block浅析
Block 的使用有两种:1.独立Block .2.内联Block . <一>独立Block 使用方式 一.定义一个Block Object,并调用. 1.定义 // 定义 ...
- 为什么一个object_id在dba_objects中为什么查不到记录?
SQL> drop table test purge;SQL> create table test (id int,comments CLOB); SQL> select INDEX ...
- 网页加载图片问题 插件lazyload
有些项目的,是满屏的背景图片 ,导致页面加载的速度,有简单处理的方法有两个: 1.将背景分割成几分
- Object类型(对象)
ECMAscript中的对象其实就是一组数据和功能集合.这里简单谈谈对象,复杂以后补充. 1 如何创建对象 简单创建: var box = {}; alert(box); //[object obje ...
- 公众平台调整SSL安全策略,开发者升级的方法
公众平台调整SSL安全策略,请开发者注意升级 近一段时间HTTPS加密协议SSL曝出高危漏洞,可能导致网络中传输的数据被黑客监听,对用户信息.网络账号密码等安全构成威胁.为保证用户信息以及通信安全,微 ...