sql-server insert statement output clause doesnt work -
i did research , found out best solution id of newly inserted row output clause.i using insert statement output clause first time , couldnt figure out.
here sql code. wrong sql?
alter procedure [dbo].[medbul_insert_message] (@parentid int, @messagefrom varchar(500),@messageto varchar(500), @messagesubject varchar(500),@messagebody varchar(4000),@messageisread int) begin set language turkish; declare @message_id table (messageid int); insert messages output inserted.id @message_id (parentid ,messagefrom ,messagesubject ,messagebody ,messageisread ) values(@parentid ,@messagefrom ,@messagesubject ,@messagebody ,@messageisread ); end
the output clause should come after column list:
insert messages (parentid ,messagefrom ,messagesubject ,messagebody ,messageisread ) output inserted.id @message_id (messageid) values(@parentid ,@messagefrom ,@messagesubject ,@messagebody ,@messageisread ); see insert documentation.
(and also, obviously, need do contents of @message_id now, presume you've not yet written or not shown in question, remainder of stored procedure)
Comments
Post a Comment