Трансакт SQL за допомогою "С" в СТВОРЕННІ ПОГЛЯДУ


14

Я хочу створити VIEW за допомогою пропозицій, але насправді не можу знайти жодних посилань на правильний синтаксис.

Я хочу, щоб це було подібне

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

І який правильний синтаксис для використання кількох пропозицій З?

Нічого корисного в 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 ... )є синтаксичною помилкою. `
Моломбі

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

Ласкаво просимо на dba.se і дякуємо за внесок. Просто, щоб ви знали, питання тут справді занадто основне для сайту і, ймовірно, буде закритим - але це не відображає вашу відповідь :) Враховуючи ваші навички роботи на SQL Server та поштових скриньках, буде набагато більше тематичних запитань. твоя вулиця, тож сподіваюсь, ти затримаєшся.
Джек каже, спробуйте topanswers.xyz

Btw postgres - приголомшливий! (виступає як Oracle DBA) Я впевнений, що ви згодні :)
Джек каже спробувати topanswers.xyz

1
Приємно бути тут. Я думаю, було б соромно вважати будь-яке питання занадто базовим; хоча я згоден, це може бути не адміністративним питанням і може належати на іншому форумі, можливо, сам обмін стеками. Anyhoo дякую!
Скотт Герберт

Я думаю, що ти маєш рацію, так це, мабуть, найкраще, але ми намагаємося бути трохи гнучкими, особливо якщо люди вже доклали зусиль, щоб відповісти до моменту, коли ми помітили :)
Джек каже спробувати topanswers.xyz
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.