直到今天我終於知道了,他們經常說的視圖是什麼鬼!可能當初學的太淺了,一下子就忘記了。視圖不是表。我先開始一直以爲是表呢
建表的時候,是實實在在的表,但是視圖不是的,視圖是從各個表中拿出需要的字段,拼成的一張虛表。
所以在Mapper中執行的sql中 from 後面的 有的是表 ,有的是 視圖!
比如下面的sql;
from SIEBEL.V_CLOSE_OPTY T0,
SIEBEL.S_OPTY T1,
上面的T0就是一個視圖,爲什麼做成視圖,不做成子查詢?
因爲需要的字段太多了,而且可能其他地方也會用到。這樣就抽成視圖,用起來就比較方便。
具體創建視圖sql 如下:
create or replace view V_CLOSE_OPTY as --視圖名稱
select a.row_id as OPTY_ID,
a.bu_id,
a.x_opty_num opty_num,--商機編碼
a.name name,--商機名稱
。。。
from siebel.s_opty a,
siebel.s_user u,
...
where a.status_cd = 'Approved'
and a.created < sysdate-173
and a.bu_id in ('1-8B-1') --這裏只有一個的時候不要用in,我覺得。但我也不敢改啊
and c.last_name not like '%離職%'
;