[英]Common Table Expression in a SQL WHILE loop?
如何在while循環中使用公用表表達式(CTE)? 以下是有關“ while”語句和對“ cte”的引用的錯誤:
錯誤:(1)WHILE附近的語法不正確(2)無效的對象名稱'cte'
WITH cte AS (
SELECT
t.employee
FROM EmpTable as t
WHERE (t.status = 3)
)
WHILE ((SELECT COUNT(*) FROM cte) <> 0)
--more stuff here
你不能那樣做。 CTE的范圍僅適用於下一個查詢。 實際上,它實際上只是它前面的查詢的一部分。 就像內聯視圖(子查詢)是較大查詢的一部分一樣。
在您的情況下,您需要返回到舊的臨時表,表變量等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.