SQL Server:插入的输出.Id与插入的临时用户定义表联接
我有个问题。。我对用户定义的表(SQL Server:插入的输出.Id与插入的临时用户定义表联接,sql,tsql,Sql,Tsql,我有个问题。。我对用户定义的表(@logs)使用存储过程。我将它插入到另一个数据库表(InOutLog),并将命令输出到,在那里我得到插入的id 主要问题是我想将用户定义的表插入到2个数据库表中的内容: InOutLog,在这里我可以得到插入的id和 要获取插入的id和其他定义的表值(l.Title+”;“+l.Comment),并将其插入到表MessageLog 但我无法访问l.Title+';'+l、 注释。此外,我找不到任何简单的解决方案来合并我的用户定义表和带有插入id值的临时表 代码如
@logs
)使用存储过程。我将它插入到另一个数据库表(InOutLog
),并将命令输出到
,在那里我得到插入的
id
主要问题是我想将用户定义的表插入到2个数据库表中的内容:
InOutLog
,在这里我可以得到插入的id和l.Title+”;“+l.Comment
),并将其插入到表MessageLog
l.Title+';'+l、 注释
。此外,我找不到任何简单的解决方案来合并我的用户定义表和带有插入id值的临时表
代码如下:
insert into InOutLog(NFCId, UserID, DateEnter, DateLeave, ProjectId,
Status, ServerDateEnter)
output inserted.Id, inserted.DateLeave, l.Title+';'+l.Comment, inserted.UserId
into MessageLog(TagLogId, MessageDate, Answer, UserId)
select l.NFCTagId, l.UserId, l.ScanDate, l.StartDate, @projectID, 0, getdate()
from @logs l
有什么建议吗?在这种情况下,最好的做法是什么?使用合并而不是插入
这允许您访问OUTPUT子句中的源表以进行插入
示例:虽然此链接可以回答问题,但最好在此处包含基本部分(即代码示例)。