3 回答

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊
一個(gè)示例,如果您需要多次引用/加入同一數(shù)據(jù)集,則可以通過(guò)定義CTE來(lái)進(jìn)行。因此,它可以是一種形式的代碼重用。
自我引用的一個(gè)示例是遞歸:使用CTE的遞歸查詢
對(duì)于來(lái)自聯(lián)機(jī)叢書(shū)的令人興奮的Microsoft定義 :
CTE可用于:
創(chuàng)建一個(gè)遞歸查詢。有關(guān)更多信息,請(qǐng)參見(jiàn)使用公用表表達(dá)式的遞歸查詢。
當(dāng)不需要通用視圖時(shí),可以用它代替視圖;也就是說(shuō),您不必將定義存儲(chǔ)在元數(shù)據(jù)中。
啟用按標(biāo)量子選擇或不確定的或具有外部訪問(wèn)權(quán)限的函數(shù)派生的列進(jìn)行分組的功能。
在同一條語(yǔ)句中多次引用結(jié)果表。

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊
我用它們來(lái)分解復(fù)雜的查詢,尤其是復(fù)雜的聯(lián)接和子查詢。我發(fā)現(xiàn)我越來(lái)越多地將它們用作“偽視圖”,以幫助我了解查詢的意圖。
我對(duì)它們的唯一抱怨是它們無(wú)法重復(fù)使用。例如,我可能有一個(gè)存儲(chǔ)的proc,其中包含兩個(gè)可以使用相同CTE的更新語(yǔ)句。但是CTE的“范圍”僅是第一個(gè)查詢。
麻煩的是,“簡(jiǎn)單示例”可能真的不需要CTE!
仍然非常方便。
- 3 回答
- 0 關(guān)注
- 579 瀏覽
添加回答
舉報(bào)