关于CTE的一些问题
发布时间:2020-12-12 15:31:52 所属栏目:MsSql教程 来源:网络整理
导读:Md cte 的语法挺奇怪的 1 :如果 with 语句不在 存储过程的第一句,必须用分号分割 如果在第一句 , 也可以用分号分割 2: 一个存储过程只能有一个 with cte 语句,如果要定义多个 cte, 则用逗号分割 ;With cte1(…) as (…) 这里无论用什么分割都不行 with ct
Md cte
的语法挺奇怪的
1:如果with 语句不在 存储过程的第一句,必须用分号分割<如果在第一句,也可以用分号分割>
3. cte定义后必须马上跟 select …. From 这样的语句,哪怕from 跟CTE无关(这点最变态)?以下语句是错误的;with cte1(...) as (...); print 'test'; 以下语句是正确的 ;with cte1(...) as (...); select top 1 * from cte1; print 'ok';4. 最后1点,CTE的名字慎用#,比如 with #cte1 (...) as (...),会引起不必要的错误 |