【发布时间】:2016-01-02 15:45:55
【问题描述】:
我正在编写一些将查询解析为两个桶的简单程序:
1) 没有结果集的那些(如 INSERT、UPDATE、CREATE)
2) 和那些这样做的人(比如 SELECT)
据我了解,只要查询以 SEL 或 WITH 子字符串开头,它总是有一个结果集。它是否正确 ?我确定SEL,但不太确定WITH。查询是否可能以 WITH 开头并且没有结果集?
【问题讨论】:
-
我相信您关于
WITH仅是SELECT的假设是正确的。您不能将With与INSERT、UPDATE、DELETE、CREATE等一起使用...事实上,在CTE 之后唯一允许的关键字是SELECT和一些临时关键字,它们会最终只会导致SELECT。但是,当您点击“USING”或“LOCKING”等关键字时,这种解析可能会变得更加困难。 -
非常感谢我完全忘记了 LOCKING 。