创建日志表记录DML操作和DDL操作
创建一个日志表,记录dept表的DML操作
create table dept_log(logid number,type varchar2(50),logdate date,deptno number,dname varchar2(50),loc varchar2(50));
create sequence dept_log_seq;
create or replace trigger dept_update_trigger10
before insert or update or delete
on dept
for each row
begin
if inserting then
insert into dept_log(logid,type,logdate,deptno,dname,loc)
values(dept_log_seq.nextval,'insert',sysdate,:new.deptno,:new.dname,:new.loc);
elsif updating then
insert into dept_log(logid,type,logdate,deptno,dname,loc)
values(dept_log_seq.nextval,'update',sysdate,:new.deptno,:new.dname,:new.loc);
else
insert into dept_log(logid,type,logdate,deptno,dname,loc)
values(dept_log_seq.nextval,'delete',sysdate,:old.deptno,:old.dname,:old.loc);
end if;
end;
/
DDL操作日志记录表创建脚本
drop table object_log purge;
drop sequence object_log_seq;
create sequence object_log_seq;
create table object_log(
oid number constraint pk_okd primary key,
username varchar2(50) not null,
operatedate date not null,
objecttype varchar2(50) not null,
objectowner varchar2(50) not null);
编写触发器实现对数据库对象操作的日志记录
create or replace trigger object_trigger
after create or drop or alter
on database
declare
begin
insert into scott.object_log VALUES
(scott.object_log_seq.nextval,ora_login_user,sysdate,ora_dict_obj_type,ora_dict_obj_owner);
end;
/
创建日志表记录DML操作和DDL操作的更多相关文章
- {django模型层(二)多表操作}一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询、分组查询、F查询和Q查询
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 xxx 七 ...
- DBMS_ERRLOG记录DML错误日志(一)
当一个DML运行的时候,如果遇到了错误,则这条语句会整个回滚,就好像没有执行过.不过对于一个大的DML而言,如果个别数据错误而导致整个语句的回滚,会浪费很多的资源和运行时间,从10g开始Oracle支 ...
- MySQL创建数据表
* 创建数据表 * * * 一.什么是数据表 * * * * 二.创建数据表的SQL语句模型 * * DDL * * ...
- MySQL slow_log日志表出现非法字段值
背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引. 想添加索引来加速访问,而csv引擎不能添加索引(csv引擎存储是以逗号分割的文本来存储的),只能改存储引擎来添加索 ...
- 【Java EE 学习 77 上】【数据采集系统第九天】【通过AOP实现日志管理】【通过Spring石英调度动态生成日志表】【日志分表和查询】
一.需求分析 日志数据在很多行业中都是非常敏感的数据,它们不能删除只能保存和查看,这样日志表就会越来越大,我们不可能永远让它无限制的增长下去,必须采取一种手段将数据分散开来.假设现在整个数据库需要保存 ...
- 我的一个PLSQL存储过程【我】 改版,加入日志表
创建日志表sql: -- Create table create table PROCEDURE_LOG ( ID ) not null, NAME ), CODE NUMBER, MSG ), IN ...
- 使用 DDL 语句分别创建仓库表、供应商表、产品表和入库表,并对其进行操作
查看本章节 查看作业目录 需求说明: 使用 DDL 语句分别创建仓库表.供应商表.产品表和入库表 使用 DML 语句分别新增一条仓库表.供应商表.产品表和入库表记录 使用 DML 语句更新满足指定条件 ...
- ORM多表操作之创建关联表及添加表记录
创建关联表 关于表关系的几个结论 (1)一旦确立表关系是一对多:建立一对多关系----在多对应的表中创建关联字段. (2)一旦确立表关系是多对多:建立多对多关系----创建第三张关系表----id和两 ...
- 数据库01创建表和DML语言
楼主用的数据库时mysql,用的时navacat for mysql. 数据库层面: 1.显示所有数据库 show databases; 2.创建数据库,名字叫lyh,编码为utf-8 create ...
随机推荐
- spring aop 之annotation
1.CutPointInterface public interface CutPointInterface { void method(); } 2.CutPointClass @Component ...
- 看雪CTF第十五题
1.直接运行起来,再用OD附加 在此处luajit加载并调用main函数 004021C7 E8 64FE0000 call CrackMe. ; luaL_newstate 004021CC 8BF ...
- SQL 逗号分隔将一行拆成多行
and number<=len(a.KOrderID) and type=)=',')
- Java知多少(52)内置异常
在标准包java.lang中,Java定义了若干个异常类.前面的例子曾用到其中一些.这些异常一般是标准类RuntimeException的子类.因为java.lang实际上被所有的Java程序引入,多 ...
- oracle转mysq遇到的问题--------1.nextval问题
oralce里面有一个问题,在做采购单模块时,遇到如下问题: 所以我们要解决这个问题: 第一步: 并发生成方式: sequence的并发生成方式同非并发生成方式都需要建立sequence表,如下: 一 ...
- Springboot学习笔记(三)-常用注入组件方式
包扫描@ComponentScan+组件标注注解(@Controller.@Service.@Repository.@Component) 包扫描不是必须的,指定包名后以指定的包名为准,比如指定包名为 ...
- 小程序url传参如何写变量
<navigator url="../../pages/newsDetail/newsDetail?id={{news.id}}"> <view class=&q ...
- modbus协议说明(转)
MODBUS-RTU通讯协议简介 什么是MODBUS? MODBUS 是MODICON公司最先倡导的一种软的通讯规约,经过大多数公司 的实际应用,逐渐被认可,成为一种标准的通讯规约,只要按照这种规 ...
- String对象的比较
public class StringTest { /* * equals 和 ==的区别 * 如果类中没有重写equals(),那么默认比较也是内存地址 * ==在基本数据类型中比较的是值! * i ...
- 拓展 NLog 优雅的输送日志到 Logstash
在上上篇博客通过对aspnetcore启动前配置做了一些更改,以及对nlog进行了自定义字段,可以把请求记录输送到mysql,正式情况可能不会这么部署.因为近期也在学习elk,所以就打算做一个实例,结 ...