【发布时间】:2018-09-03 11:32:01
【问题描述】:
我有一个 CTE,我需要使用已插入的行填充该 CTE。
我尝试使用临时表。
我不确定如何在 CTE 中创建临时表并填充 CTE。
这是我尝试过的:
WITH RESULT AS
(
DECLARE @INSERTOUTPUT1 TABLE
(
BOOKID INT,
BOOKTITLE NVARCHAR(50),
MODIFIEDDATE DATETIME
);
-- INSERT NEW ROW INTO BOOKS TABLE
INSERT INTO BOOKS
OUTPUT INSERTED.* INTO @INSERTOUTPUT1
VALUES(101, 'ONE HUNDRED YEARS OF SOLITUDE', GETDATE());
SELECT * FROM @INSERTOUTPUT1
)
SELECT * FROM RESULT
以下是表的架构:
DROP TABLE dbo.Books;
CREATE TABLE dbo.Books
(
BookID int NOT NULL PRIMARY KEY,
BookTitle nvarchar(50) NOT NULL,
ModifiedDate datetime NOT NULL
);
【问题讨论】:
-
暂时忘记临时表,你能解释一下你想在这里实现什么吗?
-
你为什么放了这么多版本的SQL Server?您具体使用的是哪个?
标签: sql-server sql-server-2005 sql-server-2012 sql-server-2008-r2 common-table-expression