Secara umum Anda tidak bisa.
Ini hanya berlaku untuk pernyataan berikutnya. Anda dapat menentukan tampilan dengan definisi yang sama jika Anda ingin menggunakan kembali definisi untuk beberapa pernyataan atau mewujudkannya sendiri ke dalam tabel/variabel tabel sementara untuk menggunakan kembali hasil .
Untuk kasus spesifik dalam pertanyaan Anda, Anda dapat melakukan semuanya dalam satu pernyataan.
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