|
我研究了一下,在日记帐Form中,我输入了几个条件,Form是这样使用这个view的
select *
FROM GL_JE_BATCHES_HEADERS_V
WHERE ((('A' = 'A') AND (actual_flag IN ('A', 'B'))) OR ('A' = 'Q') OR
(actual_flag = 'A'))
AND set_of_books_id = 1
AND - 1 = -1
AND (je_batch_id = header_je_batch_id_qry + 0)
AND (PERIOD_NAME = '3-03')
AND (HEADER_NAME LIKE '0303Y293_发放工资')
AND (HEADER_PERIOD_NAME_QRY = '3-03')
ORDER BY batch_name, period_name
转化到表级别的大概就等于
select *
FROM gl_je_batches b, gl_je_headers h
WHERE h.je_batch_id + 0 = b.je_batch_id + 0
and ((('A' = 'A') AND (b.actual_flag IN ('A', 'B'))) OR ('A' = 'Q') OR
(b.actual_flag = 'A'))
AND b.set_of_books_id = 1
AND - 1 = -1
AND (h.je_batch_id = b.je_batch_id + 0)
--AND (b.NAME LIKE '0303Y293_发放工资 31-OCT-2003 12:12:17')
AND (b.PERIOD_NAME = '3-03')
AND (h.name LIKE '0303Y293_发放工资')
AND (h.period_name = '3-03')
很明显,在使用这个视图的过程中,他们对h.je_batch_id和b.je_batch_id 进行了又一次的关联 ,这样做的目的可能是,create view 和应用开发是不同的team,view这样做的好处是让应用开发人员可以自由控制index的使用 |
|