關(guān)于sql的with as,sql with這個(gè)問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!
1、SQL 中with的用法如下:CTE 之后必須跟隨引用部分或全部 CTE 列的 SELECT、INSERT、UPDATE 或 DELETE 語句。
2、也可以在 CREATE VIEW 語句中將 CTE 指定為視圖中 SELECT 定義語句的一部分。
3、可以在非遞歸 CTE 中定義多個(gè) CTE 查詢定義。
4、定義必須與以下集合運(yùn)算符之一結(jié)合使用:UNION ALL、UNION、INTERSECT 或 EXCEPT。
5、CTE 可以引用自身,也可以引用在同一?WITH?子句中預(yù)先定義的 CTE。
6、不允許前向引用。
7、不允許在一個(gè) CTE 中指定多個(gè)?WITH?子句。
8、例如,如果 CTE_query_definition 包含一個(gè)子查詢,則該子查詢不能包括定義另一個(gè) CTE 的嵌套的?WITH?子句。
9、不能在 CTE_query_definition 中使用以下子句:COMPUTE 或 COMPUTE BYORDER BY(除非指定了 TOP 子句)INTO帶有查詢提示的 OPTION 子句FOR XMLFOR BROWSE擴(kuò)展資料定義和使用遞歸 CTE 指南下列指南適用于定義遞歸 CTE 的情況:遞歸 CTE 定義至少必須包含兩個(gè) CTE 查詢定義,一個(gè)定位點(diǎn)成員和一個(gè)遞歸成員。
10、可以定義多個(gè)定位點(diǎn)成員和遞歸成員;但必須將所有定位點(diǎn)成員查詢定義置于第一個(gè)遞歸成員定義之前。
11、所有 CTE 查詢定義都是定位點(diǎn)成員,但它們引用 CTE 本身時(shí)除外。
12、定位點(diǎn)成員必須與以下集合運(yùn)算符之一結(jié)合使用:UNION ALL、UNION、INTERSECT 或 EXCEPT。
13、在最后一個(gè)定位點(diǎn)成員和第一個(gè)遞歸成員之間,以及組合多個(gè)遞歸成員時(shí),只能使用 UNION ALL 集合運(yùn)算符。
14、定位點(diǎn)成員和遞歸成員中的列數(shù)必須一致。
15、遞歸成員中列的數(shù)據(jù)類型必須與定位點(diǎn)成員中相應(yīng)列的數(shù)據(jù)類型一致。
16、遞歸成員的 FROM 子句只能引用一次 CTE expression_name。
17、在遞歸成員的 CTE_query_definition 中不允許出現(xiàn)下列項(xiàng):。
本文分享完畢,希望對(duì)大家有所幫助。
標(biāo)簽:
免責(zé)聲明:本文由用戶上傳,如有侵權(quán)請(qǐng)聯(lián)系刪除!