背影如下:

表名,WFGTEST

 create table WFGTEST
(
NAME1 VARCHAR2(256) not null,
NAME2 VARCHAR2(256),
CAPACITY NUMBER(20,3)
)

表结构如下:

NAME1 NAME2 CAPACITY
wfg wfg 1.000
qq qq 1.000
lxx lxx 2.000
wly wly 2.000

现在想实现的效果如下:

如果这个表里相同的CAPACITY都被删除完时,向另一个表里插入一个计数,

如1.000被全部删除完时,向另一个表里插入记录如下,也就是说DELETE时,需要再查询本表是否还有与此次删除相同的CAPACITY,如果没有,那么就向另一个表里添加记录

CAPACITYTYPE DELETETIME
1.000   2015/02/13

那么这个触发器应该怎么写呢?

 CREATE OR REPLACE TRIGGER "TRIGGER_WFGTEST" AFTER
DELETE ON "WFGTEST" FOR EACH ROW
DECLARE nRMSFLAG number;
nFindSelft number; pragma autonomous_transaction; BEGIN
---------------------------------------------------------------------------------
IF DELETING THEN
SELECT COUNT(*) INTO nFindSelft FROM WFGTEST WHERE CAPACITY =:OLD.CAPACITY;
IF nFindSelft =1 THEN
INSERT INTO "WFGTEST2" VALUES(:OLD.NAME2,sysdate);
END IF;
commit;
END IF; END IF;
----------------------------------------------------------------------------------
--END IF;
/* PLEASE CHANGE THE NAME*/
END TRIGGER_WFGTEST;

下面有两个SQL代码测试,有不明白的地方请高手指导:

 --这样执行的话,无法统计
delete from wfgtest where capacity = 1.000;
commit; --这样执行就能统计,请问为什么?
delete from wfgtest where name1 = 'wfg';
delete from wfgtest where name1 = 'qq';
commit;

Oracle 触发器 删除操作时再查询本表数据 功能不正确的更多相关文章

  1. js中对arry数组的各种操作小结 瀑布流AJAX无刷新加载数据列表--当页面滚动到Id时再继续加载数据 web前端url传递值 js加密解密 HTML中让表单input等文本框为只读不可编辑的方法 js监听用户的键盘敲击事件,兼容各大主流浏览器 HTML特殊字符

    js中对arry数组的各种操作小结   最近工作比较轻松,于是就花时间从头到尾的对js进行了详细的学习和复习,在看书的过程中,发现自己平时在做项目的过程中有很多地方想得不过全面,写的不够合理,所以说啊 ...

  2. Oracle记录表删除操作简单方法

    最近项目中Oracle库中一个表log_gpackage有数据丢失现象,但因为没有启用归档,所以CDC和Dataguard都无法使用.google一下,最简单的方法,增加触发器处理逻辑: ---创建触 ...

  3. SFDC 删除操作时:验证或触发后续操作的一般解决方案

    删除操作比较特殊,不能通过Workflow Rule和Process Builder,Validation Rule来Check和相应做后续操作. 目前调查只有两种工具可以监听到删除操作: Apex ...

  4. Oracle 跨库 查询 复制表数据 分布式查询

    方法一: 在眼下绝大部分数据库有分布式查询的须要.以下简单的介绍怎样在oracle中配置实现跨库訪问. 比方如今有2个数据库服务器,安装了2个数据库.数据库server A和B.如今来实如今A库中訪问 ...

  5. oracle中删除某个用户下的所有表

    一般的方法:先使用sql查询: SELECT 'DELETE FROM '|| table_name || ';' FROM USER_TABLES ORDER BY TABLE_NAME; 将查询结 ...

  6. Oracle 跨库 查询 复制表数据

    在目前绝大部分数据库有分布式查询的需要.下面简单的介绍如何在oracle中配置实现跨库访问. 比如现在有2个数据库服务器,安装了2个数据库.数据库server A和B.现在来实现在A库中访问B的数据库 ...

  7. MySQL 中根据A表的ID查询B表数据

    例1:查询某个文章及其对应的评论(单个详情) ) FROM A; 例2:查询分类表中,每种分类各包含多少商品(汇总) SELECT category_id, (SELECT count(goods_i ...

  8. laravel利用subquery使左连接查询右表数据唯一查询

    如:表a,连接表b,b中有多条符合查询的记录 1.建立需要的子查询 $sub = DB::table('b')->select(['aid'])->selectRaw('max(id) a ...

  9. Oracle和sql server中复制表结构和表数据的sql语句

    在Oracle和sql server中,如何从一个已知的旧表,来复制新生成一个新的表,如果要复制旧表结构和表数据,对应的sql语句该如何写呢?刚好阿堂这两天用到了,就顺便把它收集汇总一下,供朋友们参考 ...

随机推荐

  1. Linux Shell 1>/dev/null 2>&1 含义

    shell中可能经常能看到:echo log > /dev/null 2>&1 命令的结果可以通过%>的形式来定义输出 /dev/null :代表空设备文件>  :代表 ...

  2. Does Windows have a limit of 2000 threads per process?

    http://blogs.msdn.com/b/oldnewthing/archive/2005/07/29/444912.aspx Often I see people asking why the ...

  3. java代码,输入n多个数,求其平均值,虽有重复,但是第二次,我就乱写了

    总结:对象调用方法,与在main 里直接输出没什么大的区别,少用方法, 乱搞++++ package com.c2; import java.util.Scanner; public class DD ...

  4. Java-Runoob:Java 对象和类

    ylbtech-Java-Runoob:Java 对象和类 1.返回顶部 1. Java 对象和类 Java作为一种面向对象语言.支持以下基本概念: 多态 继承 封装 抽象 类 对象 实例 方法 重载 ...

  5. 1050 String Subtraction

    题意:给出两个字符串s1和s2,在s1中删去s2中含有的字符. 思路:注意,因为读入的字符串可能有空格,因此用C++的getline(cin,str).PAT系统迁移之后C语言中的gets()函数被禁 ...

  6. ARM-Linux内核移植之(二)——Linux2.6.22内核移植

    平台:mini2440  交叉工具链:arm-linux-gcc-4.3.2 一.内核移植基本知识 移植内核也叫构建BSP(boardsupprot packet).BSP的作用有两个:一是为内核运行 ...

  7. 参数传递中编码问题(Get/Post 方式)(三)

    自己总结的:     GET方式:      1.提交方式为GET时,数据是放在请求HEADER头中的,且将数据与URL拼接后,浏览器会对拼接后的url进行编码,编码方式为浏览器默认的编码,      ...

  8. js实现的点击div区域外隐藏div区域

    首先看下JS的事件模型,JS事件模型为向上冒泡,如onclick事件在某一DOM元素被触发后,事件将跟随节点向上传播,直到有click事件绑定在某一父节点上,如果没有将直至文档的根. 阻止冒泡:1.对 ...

  9. eval是做什么的?

    它的功能是把对应的字符串解析成js代码并运行, 应该避免使用eval,因为不安全,非常耗性能(2次,一次解析成js语句,一次执行) 注意:在项目里写js代码的时候,禁止使用的,因为有安全因素.

  10. SVN安装和使用总结

    SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...