создание параметризованных представлений в oracle11g

У меня есть большой запрос с вложением, левым соединением и Ineed, чтобы создать представление из него, чтобы не запускать его из приложения. Проблема в том, что мне нужен диапазон дат и некоторые другие поля в качестве входных параметров, поскольку он будет отличаться от внешнего интерфейса для каждого запроса. Я просто посмотрел и увидел несколько сообщений, относящихся к использованию SYS_CONTEXT для параметризованных представлений, и мне нужно точно знать, как мне создать представление, например, с двумя параметрами - fromdate, todate и как я вызываю представление из приложения .

Для информации я использую grails / groovy для разработки приложения. и вот запрос, который я хочу создать из ..

 select 
    d.dateInRange as dateval,
    eventdesc,
    nvl(td.dist_ucnt, 0) as dist_ucnt
from (
    select 
        to_date(fromdate,'dd-mon-yyyy') + rownum - 1 as dateInRange
    from all_objects
    where rownum <= to_date(fromdate,'dd-mon-yyyy') - to_date(todate,'dd-mon-yyyy') + 1
) d
left join (
    select 
        to_char(user_transaction.transdate,'dd-mon-yyyy') as currentdate,
        count(distinct(grauser_id)) as dist_ucnt,
        eventdesc 
    from
        gratransaction, user_transaction 
  where gratransaction.id = user_transaction.trans_id and 
  user_transaction.transdate between to_date(fromdate,'dd-mon-yyyy') and to_date(todate,'dd-mon-yyyy') 
    group by  to_char(user_transaction.transdate, 'dd-mon-yyyy'), eventdesc 
) td on td.currentdate = d.dateInRange order by d.dateInRange asc
14
задан John Doyle 27 January 2012 в 00:27
поделиться