close

最近在學習 SQL CLR ,可以用習慣的語言來開發 SQL Server (VB.Net, C#),這樣真的很不錯(笑~~~

在 Visual Stdio 上的新增專案中,新增一個 SQL Server Project 就能簡單的來開發了

至於詳細的東西我還在摸, 哈!

目前想把一些更新語法全改成用預存程序來撰寫,因為使用 Linq 會付出不小的額外成本,尤其你資料表欄位多時

var table1 = from t in db.table1 select t;

這樣是選取 table1 這張資料表嘛

table1.first().field1 = 1;

db.submitChange();

他執行的語法會是什麼?答案是
Update table1 set field1=1 where field1 = old field1 value and field2 = old field2 value and field3 = old field3 value and ... and fieldn = old fieldn value

他會判斷所有欄位全相符才執行(主要是它認為如果有一筆資料有異動了,那那筆資料就不是我們要的資料,所以異動了可能不是我們要的結果)

但是我們通常是只需判斷主鍵就行了,而不需要判斷這麼多,我們其實並不care其他欄位的

而網路上搜尋的結果,似乎並沒有找到特別可以達到這樣需求的解法

而找到目前可以替代的解法就是預存程序,再往下找,突然發現了我現在在玩的玩具 ... CLR!

arrow
arrow
    全站熱搜

    MyWCT 發表在 痞客邦 留言(0) 人氣()