加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

关于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 语句不在 存储过程的第一句,必须用分号分割<如果在第一句,也可以用分号分割>

2: 一个存储过程只能有一个with cte语句,如果要定义多个cte,则用逗号分割

;With cte1(…) as (…) <这里无论用什么分割都不行> with cte2(…) as(…)这样错误 必须这样写 ;<如果with 不是第一句> with cte1(…) as (…),cte2(…) as (…)

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 (...),会引起不必要的错误

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读