oracle中删除一个表的记录的同时,保存到另一个表的触发器

create or replace trigger delete_SXCLGC_tri
  after delete on winf_sv_ex_hybs_sxclgc
  for each row   
    DECLARE  
     
    begin
         insert into WINF_SV_EDITORIAL_DELETE(
         SXBM,XH,HJBH,HJFZRXM,
         HJFZRSJ,HJFZRZWDM,HJFZRZWMC,HJMC,
         FZRSZBM,FZRSZBMZZJGDM,UNIT,ISSTARTESPECIALLYPROCEDURE,
         TIMELIMIT,ESPECIALLYPROCEDURETYPE,TBCXTIMELIMIT,QSBMZZJGDM)  
        values(
        :old.sxbm,:old.XH,:old.HJBH,:old.HJFZRXM,
        :old.HJFZRSJ,:old.HJFZRZWDM,:old.HJFZRZWMC,:old.HJMC,
        :old.FZRSZBM,:old.FZRSZBMZZJGDM,:old.UNIT,:old.ISSTARTESPECIALLYPROCEDURE,
        :old.TIMELIMIT,:old.ESPECIALLYPROCEDURETYPE,:old.TBCXTIMELIMIT,:old.QSBMZZJGDM);
        
end delete_SXCLGC_tri;

时间: 2024-08-28 01:25:55

oracle中删除一个表的记录的同时,保存到另一个表的触发器的相关文章

oracle 中删除表 drop delete truncate

oracle 中删除表 drop delete truncate 相同点,使用drop delete truncate 都会删除表中的内容 drop table 表名 delete from 表名(后面不跟where语句,则也删除表中所有的数据) truncate table 表名 区别 首先delete 属于DML,当不commit时时不生效的 而truncate 和 drop 则是直接生效的,不能回滚. truncate 和 delete 不删除表的结构,只是针对表中的内容删除 drop语句

【转】oracle 中随机取一条记录的两种方法

oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COUNT(*) INTO V_COUNT FROM  TBL_MYTABLE; SELECT TRUNC(DBMS_RADOM.VALUE(1,V_COUNT+1)) INTO V_NUM FROM DUAL; SELECT * FROM TBL_MYTABLE T WHERE T.FID=V_NUM;

Oracle中随机抽取N条记录

一.Oracle取随机数据  1.Oracle访问数据的基本方法:  1).全表扫描(Full table Scan):执行全表扫描,Oracle读表中的所有记录,考查每一行是否满足WHERE条件.Oracle顺序的读分配给该表的每一个数据块,且每个数据块Oracle只读一次.这样全表扫描能够受益于多块读. 2).采样表扫描(sample table scan):扫描返回表中随机采样数据,这种访问方式需要在FROM语句中包含SAMPLE选项或者SAMPLE BLOCK选项.     注:从Ora

Oracle 中的一些重要V$ 动态性能视图,系统视图和表

v$database:数据库的信息,如数据库名,创建时间等. v$instance 实例信息,如实例名,启动时间. v$parameter 参数信息,select * from v$parameter where name like '%name'  ----> show parameter name(sqlplus中执行) v$process 运行的进程的信息,如PID,SPID,以及进程的名字,如SMON,PMON在UNIX的进程名称,在windows中会看到类似ORACLE.EXE (PM

eclipse中删除多余的工作空间记录

所以对于不再使用的工作空间,每次出现在eclipse的“文件”>>“切换工作空间”里面的时候就觉得特别不爽. 所以认真研究了eclipse目录之后让我找到了,删除不需要工作空间记录的方法. 打开eclipse的根目录 依次进入 configuration >> .settings 用notepad++打开 org.eclipse.ui.ide.prefs 最下面一行 RECENT_WORKSPACES 就是工作空间记录, 找到你需要删除的 包括前面的“\n”一起删除就好.

oracle中删除表空间提示ORA-00604和ORA-38301

今天需要在本机上腾出空间,发现oracle中有一个dbf文件占了约30G,这个数据文件对应的用户平时很少使用的,于是就想对它进行处理-删除表空间操作. 本机的数据库是32位的10.2.0.1.0,表空间为TEST_TB存在若干个表数据.刚开始时用dba角色的system用户,直接执行 drop tablespace test_tb including contents and datafiles; 提示: ORA-00604:递归SQL级别1出现错误 ORA-38301:无法对回收站中的对象执行

oracle中删除表中某字段出现重复的元素 保留其中一条

记得以前有个同事问过我这个,说是以前面试的时候碰到的问题,下面我介绍三种方法. 首先我们在这里创建一个测试表添加相应的测试数据. create table test  (id number,name varchar(10));  insert into  test values(1,'liufang');  insert into  test values(2,'xiaozhang');  insert into  test values(3,'dawei');  insert into  te

Oracle中查询前10条记录

在Oracle怎样查询表中的top10条记录呢? select * from test where rownum <=10     ----说明:rownum只能用于<或<=运算,如果要用>运算符就要用到嵌套查询. 下面是关于rownum的介绍 ================================ Rownum和row_number().over()的使用 ROWNUM是Oracle从8开始提供的一个伪列,是把SQL出来的结果进行编号,始终从1开始,常见的用途就是用来分

MySQL中删除多余的重复记录

检查重复记录 -- 检查重复code1 select count(identity) num, identity from event_log where code='code1' group by identity having count(identity) > 1 order by num desc 删除重复记录 DELETE FROM event_log WHERE `code`='code1' AND identity IN ( SELECT identity from ( SELEC