获取每秒Oracle数据库删除数据的记录:Delete from Table-name
       Where Colum-name < 5   假设满足这样删除条件的数据有很多,现在要求输出Log,把每秒数据库删除的记录输出来,精确到每秒,这个怎么做啊?请指教。

解决方案 »

  1.   

    这个与机器配置(如CPU,内存),当时计算机的情况,查询语句的情况有关,不可能有唯一的标准.如果非要,把删除的记录总数/需要的时间
      

  2.   

    create type arr is table of number;declare
      v_a arr;
    begin
      Delete from Table-name 
            Where Colum-name < 5 
        returning key_of_table_name 
     bulk connect into v_a;  for i in 1..v_a.count 
      loop
         dbms_output.put_line(v_a(i) || ' was deleted');
      end loop;
    end;
      

  3.   

    是PL/SQL?有ORACLE的语句吗??
      

  4.   

    你想在哪里获取呢?程序的sql中还是过程中
      

  5.   

    觉得楼主的需求实现起来太困难了,要不这样吧:
    取某个时间点的数据
    select * 
    from  tableName 
    as of timestamp to_timestamp('2008-12-25 12:00:00', 'yyyy-mm-dd hh24:mi:ss')
    取下一个时间点的数据
    select * 
    from  tableName 
    as of timestamp to_timestamp('2008-12-25 12:00:01', 'yyyy-mm-dd hh24:mi:ss')
    然后做个比较,把不相同数据的过滤出来