1

Я вижу огромное увеличение производительности с использованием временной таблицы CTE v/s. В настоящее время у меня есть:Использование общего выражения таблицы с предложением OUTPUT

DECLARE @OutputTbl TABLE (ID INT) 

INSERT INTO MyTable(Name, Address, PhoneNo) 
OUTPUT INSERTED.ID INTO @OutputTbl(ID) 
VALUES ('Yatrix', '1234 Address Stuff', '1112223333') 

Я хочу использовать CTE здесь. Является ли это возможным?

ответ

4

Нет, вы не можете использовать INSERT заявления в CTE_query_definition:

Определяет ЗЕЬЕСТ чьего результирующего набор заполнит общее табличного выражения. Оператор SELECT для CTE_query_definition должен соответствовать тем же требованиям, что и для создания представления, за исключением того, что CTE не может определить другой CTE. Для получения дополнительной информации см. Раздел «Примечания» и CREATE VIEW (Transact-SQL).

Если более чем один CTE_query_definition является определено, определения запроса должны быть соединены одним из них установить операторы: UNION ALL, UNION, КРОМЕ или пересекаться.

CTE official documentation

CREATE VIEW official documentation

Смежные вопросы