Generalnie nie możesz.
Dotyczy tylko następnej instrukcji. Możesz zdefiniować widok z tą samą definicją, jeśli chcesz ponownie użyć definicji dla wielu instrukcji lub samodzielnie zmaterializuj je w tymczasowej zmiennej tabeli/tabeli, aby ponownie wykorzystać wyniki .
Jednak w konkretnym przypadku w Twoim pytaniu możesz to wszystko zrobić w jednym oświadczeniu.
WITH cte
AS (SELECT 1 AS n
UNION ALL
SELECT n + 1
FROM cte
WHERE n + 1 <= 10)
INSERT INTO tbl1
(id)
OUTPUT INSERTED.id
INTO tbl2(id)
SELECT n
FROM cte