如何在oracle表单d2k应用程序中计算页面命中率



如何计算oracle表单d2k应用程序中访问者的页面命中率或无命中率?

这里有一个选项:

  • 创建一个表,例如

    create table hits (form_name varchar2(30), hits number);
    
  • 创建一个将用于维护该表的存储过程。它将是一个自治的事务过程(这样你就可以在不影响主事务的情况下commit(,它将锁定hits表(它会影响多用户环境中的执行吗?不应该,它真的很快(。

    create or replace procedure p_hits (par_form_name in varchar2) 
    is
    pragma autonomous_transaction;
    begin
    lock table hits in exclusive mode;
    merge into hits h
    using (select par_form_name form_name from dual) x
    on (x.form_name = h.form_name)
    when matched then 
    update set h.hits = h.hits + 1
    when not matched then 
    insert (form_name, hits) values (par_form_name, 1);
    commit;
    end p_hits;
    /    
    
  • 在表单的WHEN-NEW-FORM-INSTANCE表单级别触发器中调用该过程:

    p_hits(:system.current_form);
    

仅此而已;查询hits表以查看其内容。

最新更新