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