存儲過程中組建集合

  在業務層組建一個顯示集合,需要多次查詢數據庫,多次交互. 之後被告知去寫存儲過程.存儲過程沒有集合這一說,循環控制需要用遊標,不怎麼會用.最後用with關鍵字,把每個相關表內的相關數據都取出來或sum出來,最後用共有id, left join在一起select一下,就拼接成了想要的結果集.

  這裏如果直接left join 所有的表,會出現錯誤的重複數據,sum統計會被影響.畢竟業務有時需要從四五個表中取數據. 

  優化的話就是小表放前,大表放後.多次對一個表訪問,可以先把需要訪問的所有數據都先with etc出來,每次去etc中訪問.這裏最終left join之前,每個id在每個被join的with表裏都只對應一條數據.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章