0
我想基於一個條件更新數據集,然後檢索所有更新的行。 VS一直告訴我在我的OUTPUT子句附近有一個不正確的語法錯誤,但我沒有看到任何錯誤。我只是想弄清楚如何使用「OUTPUT」,所以這可能是一個非常愚蠢的錯誤,但我沒有看到。OUTPUT語句出現問題。不正確的語法
什麼是錯的(語法)與該輸出條款?
CREATE PROCEDURE [dbo].[GetInitialSessionNotifications]
@CurrentSessionId bigint
AS
DECLARE @tempTable table(
id bigint NOT NULL,
[Type] nvarchar,
DocumentCommentID bigint,
AnnouncmentID int,
EventID int,
MeetingID int,
[Read] bit,
RecieverId int,
AnnouncmentCommentId bigint,
EventCommentId bigint,
MeetingCommentId bigint,
DateAndTime DateTime);
UPDATE Notifications SET SessionId = @CurrentSessionId
WHERE SessionId != @CurrentSessionId
OUTPUT INSERTED.id,
INSERTED.[Type],
INSERTED.DocumentCommentID,
INSERTED.AnnouncmentID,
INSERTED.EventID,
INSERTED.MeetingID,
INSERTED.[Read],
INSERTED.RecieverId,
INSERTED.AnnouncmentCommentId,
INSERTED.EventCommentId,
INSERTED.MeetingCommentId,
INSERTED.DateAndTime
INTO @tempTable;
SELECT id, [Type], DocumentCommentId, AnnouncmentID, EventID, MeetingID,
[Read], RecieverId, AnnouncmentCommentId, EventCommentId, MeetingCommentId, DateAndTime
FROM @tempTable;
返回0
'WHERE'進入*後*'OUTPUT'。 – 2013-05-12 17:48:18
那麼在INTO聲明之後呢?我希望你能回答一個答案。我現在不能標記你是正確的。 – Adrian 2013-05-12 17:50:48
@Adrian沒錯,'更新通知SET會話ID = @CurrentSessionId OUTPUT INSERTED.id, INSERTED [類型], ... INSERTED.DateAndTime INTO @tempTable WHERE的SessionID = @CurrentSessionId。!' – 2013-05-12 17:52:11