2014-10-07 2 views
-1

CTE 테이블을 선택하기 전에 모든 종류의 코드를 작성하는 방법이 있습니까?CTE 테이블을 사용하기 전에 CTE 명령을 실행하십시오.

DECLARE @TestTable TABLE (ID INT ,name NVARCHAR) 
INSERT INTO @TestTable VALUES (1,'a'),(2,'b'),(1,'c') 
;WITH TempCte(name) 
AS 
(
SELECT name FROM @TestTable WHERE ID = 1 
) 
PRINT 'test' 
SELECT * FROM TempCte 
+1

';'은 문장의 ** 끝 **에 있어야하며 중간에있는 것이 필요하지 않습니다. . –

+0

도움이되지 않습니다. – SubqueryCrunch

답변

1

아니요, 수행 할 수 없습니다. 당신은 다음 MSDN을 참조하는 경우 :

A common table expression (CTE) can be thought of as a temporary result set 
that is defined within the execution scope of a SINGLE 
SELECT, INSERT, UPDATE, DELETE, or CREATE VIEW statement. 

을 그래서 기본적으로는 CTE 결과 집합을 보유하고 SINGLE SELECT/INSERT/UPDATE가/삭제/또는 CREATE VIEW 문의 범위입니다. 해당 범위 다음에 쓰여진 내용은이 임시 데이터에 액세스 할 수 없습니다. 여기에서 자세한 내용을 읽을 수 있습니다 : http://msdn.microsoft.com/en-us/library/ms175972.aspx

+0

답변 해 주셔서 감사합니다. – SubqueryCrunch