Как посчитать попадание на страницу в приложении oracle form d2k - PullRequest
0 голосов
/ 25 марта 2020

Как подсчитать количество посещений страницы или нет посетителей в oracle форме d2k-приложения?

1 Ответ

3 голосов
/ 25 марта 2020

Вот один из вариантов:

  • создать таблицу, например,

    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, чтобы увидеть ее содержимое.

...