Tôi có một truy vấn lớn với lồng ghép và tham gia trái và Ineed để tạo ra một khung nhìn ra khỏi nó để không chạy nó từ ứng dụng. Vấn đề là tôi cần phạm vi ngày và một số trường khác làm thông số đầu vào vì nó sẽ thay đổi từ giao diện người dùng cho mỗi yêu cầu. Tôi chỉ nhìn lên và thấy một số bài viết đề cập đến việc sử dụng SYS_CONTEXT cho chế độ xem tham số và cần biết chính xác cách tạo chế độ xem ví dụ với 2 tham số - fromdate, todate
và cách tôi gọi chế độ xem từ ứng dụng.tạo các khung nhìn được tham số hóa trong oracle11g
Chỉ để biết thông tin tôi đang sử dụng grails/groovy để phát triển ứng dụng. và đây là truy vấn Tôi muốn tạo ra cái nhìn ra khỏi ..
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
chúng tôi không thể sử dụng thủ tục chức năng, nhưng tôi sẽ xem xét các tùy chọn và thử các giải pháp được đề xuất ở đây –
* Tại sao * bạn không thể sử dụng quy trình, chức năng hoặc gói? Nếu bạn đang sử dụng Oracle, không có lý do chính đáng để bạn tránh chúng. –
Một số người có quyền truy cập chỉ đọc vào cơ sở dữ liệu. –