我正在根据我的业务逻辑编写如下脚本,请有人给我建议,如何实现CTE (公共表表达式)
IF OBJECT_ID('tempdb..#tmpFirstTable') IS NOT NULL
DROP TABLE #tmpFirstTable
;WITH tempCTE AS ( select * from Table1  )      
IF OBJECT_ID('tempdb..#tmpTable') IS NOT NULL
DROP TABLE #tmpTable
SELECT  * 
into #tmpTable
from table2  
Select * from tempCTE T1,#tmpTable T2 , #tmpFirstTable T3 where T1.ID = T2.ID and T2.ID = T3.ID以上代码格式应该是原样的。
我得到的错误是。
关键字'IF‘附近的语法不正确。
发布于 2012-10-24 19:03:32
IF OBJECT_ID('tempdb..#tmpTable') IS NOT NULL
DROP TABLE #tmpTable
SELECT  * 
into #tmpTable
from table2  
;WITH tempCTE AS ( select * from Table1  )      
Select * from tempCTE T1,#tmpTable T2 where T1.ID = T2.ID发布于 2012-10-24 19:49:07
CTE可与视图相比较。但是,它的作用域仅限于单个SELECT、INSERT、UPDATE、DELETE或MERGE语句。如果您想在两个单独的语句中使用它,则必须直接在每个语句的前面重复声明。
或者,您可以将代码放到一个真实的视图中,并以这种方式进行重用。
https://stackoverflow.com/questions/13055930
复制相似问题