--创建表

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添加日志表的更多相关文章

  1. [Oracle]理解undo表空间

    一.回退段介绍 在Oracle数据库中,当某个事物对数据进行修改时,Oracle首先将数据的原始值保存到一个回退段中.一个事物只能将它的回退信息保存到一个回退段中,而多个并行事物可以使用同一个回退段. ...

  2. Oracle错误览表

    Oracle 错误总结及问题解决 ORA     本文转自:https://www.cnblogs.com/zhangwei595806165/p/4972016.html  作者@承影剑 ORA-0 ...

  3. Oracle的外部表

    一.外部表特性 数据文件位于操作系统之外,并且具有一定的格式分割的文本文件或其他类型文件.ORACLE的外部表通过SQL的形式访问数据文件中的数据,数据并不需要加载到数据库中且数据是可读的,所以不用D ...

  4. WPF根据Oracle数据库的表,生成CS文件小工具

    开发小工具的原因: 1.我们公司的开发是客户端用C#,服务端用Java,前后台在通讯交互的时候,会用到Oracle数据库的字段,因为服务器端有公司总经理开发的一个根据Oracle数据库的表生成的cla ...

  5. 卸载oracle删除注册表脚本

    一.前言 在我们操作系统中,有时要卸载oracle数据库,每一次都要去删除win下的注册表,为了方便删除注册表的信息,下面通过一种删除注册表快捷的脚本. 二.脚本信息 Windows Registry ...

  6. oracle 归档日志

    归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换式,后台进程ARCH会将重做日志的内容保存到归档 ...

  7. oracle 报警日志详解

    oracle报警日志是一个非常重要的日志,其有两种实现方法: 1.通过全局表来实现,这种方法有一种缺点,就是在关闭数据库后或者数据库宕机后就不能在使用了 2.通过外部表来实现,这种方法避免了方法一种的 ...

  8. 记一次ORACLE的UNDO表空间爆满分析过程

    这篇文章是记录一次ORACLE数据库UNDO表空间爆满的分析过程,主要整理.梳理了同事分析的思路.具体过程如下所示: 早上收到一数据库服务器的UNDO表空间的告警邮件,最早一封是7:55发出的(监控作 ...

  9. Oracle重做日志文件

    一.联机重做日志的规划管理 1.联机重做日志 记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等) 提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复) 可以被分组管理  11 ...

随机推荐

  1. 实验一 Java开发环境的熟悉-刘蔚然

    一.实验内容 1. 使用JDK编译.运行简单的Java程序 2. 使用Eclipse 编辑.编译.运行.调试Java程序 要求: 完成实验.撰写实验报告 统计PSP时间 二.实验过程 使用JDK编译. ...

  2. Fatal error: Cannot redeclare tran() (previously declared in

    解决方法如下: 1.你该段源码里面是不是有include 或者require 之类的包含其他文件函数 包含的文件里已经有 函数 nw() 的定义 而这段代码里又有nv()的定义 所以出现redecla ...

  3. Requirements Gathering

    Requirements gathering is an essential part of any project and project management. Understanding ful ...

  4. undefined reference to `switch_dev_unregister'

    编译内核时,使用默认的配置进行编译.出现错误:undefined reference to switch_dev_unregister',undefined reference toswitch_se ...

  5. Given a binary tree containing digits from0-9only, each root-to-leaf path could represent a number. An example is the root-to-leaf path1->2->3which represents the number123. Find the total sum of a

    class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public class ...

  6. iOS UIImageView 显示不规则图片只显示图片一部分保证图片不被压缩

    //只需如下设置imageView [picImg setContentScaleFactor:[[UIScreenmainScreen] scale]]; picImg.contentMode =  ...

  7. LeetCode Flip Game II

    原题链接在这里:https://leetcode.com/problems/flip-game-ii/ 题目: You are playing the following Flip Game with ...

  8. Android 多线程处理之多线程用法

    handler.post(r)其实这样并不会新起线程,只是执行的runnable里的run()方法,却没有执行start()方法,所以runnable走的还是UI线程. 1.如果像这样,是可以操作ui ...

  9. node的passport.js验证

    项目使用的是passport.js(http://passportjs.org/docs),所以对passport这个中间件研究了一番,在本项目中passport同express-session配合使 ...

  10. 用java给php写个万能接口

    package helloworld; import java.io.IOException; import javax.servlet.ServletException; import javax. ...