[操作疑難] ~~~ oracle stored procedure 難題 ~~~

oraclestored procedure難題

問題:

Table name : tb1

   Date      ID     Number
04-DEC-15  A2000  024-645071
03-DEC-15  A2000  024-645072
03-DEC-15  A2000  024-645073
              

03-DEC-14  A25458  024-645074


想問下ching, 想用stored procedure做到一個效果是:

我輸入date range, start_date = 03-DEC-15, end_date = 04-DEC-15, 得出以上tb1效果, show 出3條records,
我想寫個stored procedure 是當我輸入date range之後, 去search date range 得出來的3個records 每個record 去比較
一下有否不一樣, 有不一樣的就要顯示出來,
即是由024-645071開始, 024-645071 去碰下一個024-645072, 發現不一樣, 那麼就show 024-645071出來, 做完之後接著再由
024-645072 開始去碰下一個 024-645073, 發現不一樣, 那麼就show 024-645072 出來, 但是做完之後接著再由 024-645073
去碰下一個, 發現已經沒有下一個Number可以做對碰了, 於是為有再去tb1(同一個table) 找相同ID A2000 最接近(03-DEC-15 的這個日子)的出來, 再用024-645073去碰下024-645074, 發現不一樣, 那麼就show 024-645073出來了, 做完.

最後result :
024-645071
024-645072
024-645073

oraclestored procedure難題

問題:

Table name : tb1

   Date      ID     Number
04-DEC-15  A2000  02 ...
save_null 發表於 2015-12-4 15:29


Why do you  use oracle ?
it is so expensive.

TOP

回覆 1# save_null
用個Cursor for loop咁比較唔得咩?

TOP

回覆 3# 7h1r733n

好似好複雜甘樣

TOP

回覆  7h1r733n

好似好複雜甘樣
save_null 發表於 2015-12-4 17:02


自己研究吓...
https://docs.oracle.com/cd/B1050 ... /a96624/a_samps.htm

TOP

oraclestored procedure難題

問題:

Table name : tb1

   Date      ID     Number
04-DEC-15  A2000  02 ...
save_null 發表於 2015-12-4 15:29

Why do you  use oracle ?

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

本帖最後由 snoopy11hk 於 2015-12-4 22:03 編輯
oraclestored procedure難題

問題:

Table name : tb1

   Date      ID     Number
04-DEC-15  A2000  02 ...
save_null 發表於 2015-12-4 15:29



    其實SQL 用 LAG () Analytics + CASE WHEN  就做到你想要的野

TOP

回覆  save_null
用個Cursor for loop咁比較唔得咩?
7h1r733n 發表於 2015-12-4 17:00



    得, 但係好慢

TOP

sort by which column?

TOP