CREATE VIEW에서 WITH를 사용하는 Transact SQL


14

WITH 절을 사용하여 VIEW를 만들고 싶지만 실제로 올바른 구문에 대한 참조를 찾을 수 없습니다.

나는 이런 것을 원한다

WITH TempTbl AS (SELECT ...)
CREATE VIEW SomeView
SELECT *
FROM TempTbl

여러 WITH 절을 사용하는 올바른 구문은 무엇입니까?

MSDN에는 유용한 것이 없습니다 :(

답변:


25

CTE가 시야에 들어갑니다.

CTE로 문의하십시오

WITH cte AS (...) SELECT ...;

CREATE VIEW AS를 추가하십시오 .. GO

CREATE VIEW
AS
WITH cte AS (...) SELECT ...;
GO

MSDN은 여러 CTE를 설명합니다 (예 j 참조).

CREATE VIEW
AS
WITH
   cte1 AS (...),
   cte2 AS (...),
   cte3 AS (...)
SELECT ...
GO

나를위한 트릭은 여분의 괄호를 제거하는 것이 었습니다. create view myView as ( select ... )작동 create view myView as with tempTbl as select ...하지만 create view myView as ( with tempTbl as select ... )구문 오류입니다. `
Molomby

6
CREATE VIEW 
someview
AS
WITH CTEstuff AS (SELECT etc)
SELECT * FROM CTESTuff;

dba.se에 오신 것을 환영하며 기여해 주셔서 감사합니다. 아시다시피 여기 질문은 실제로 사이트에 너무 기본적이며 아마도 닫힐 것입니다. 그러나 그것은 귀하의 답변에 반영되지 않습니다 :) SQL Server 및 postgres에 대한 기술을 감안할 때 더 많은 주제에 대한 질문이 있습니다 당신의 거리, 그래서 당신이 주위에 붙어 바랍니다.
잭 topanswers.xyz 시도라고

Btw postgres는 대단합니다! 나는 당신이 : 동의 해요 (오라클 DBA로 말하기)
잭 topanswers.xyz 시도라고

1
여기에 반갑습니다. 질문이 너무 기본이라고 생각하는 것은 부끄러운 일이라고 생각합니다. 비록 그것은 행정상의 질문이 아니며 다른 포럼, 아마도 스택 교환 자체에 속할 수도 있다는 데 동의합니다. 감사합니다!
Scott Herbert

난 당신이 바로 SO 아마 최고입니다 생각하지만, 우리가 시도하고 사람들이 이미 :) 시간 우리 통지서 응답에 노력을 한 특히 약간의 유연성
잭은 말한다 topanswers.xyz 시도
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.