Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2005 在同一事务中插入和更新_Sql Server 2005_Sql Server 2008 - Fatal编程技术网

Sql server 2005 在同一事务中插入和更新

Sql server 2005 在同一事务中插入和更新,sql-server-2005,sql-server-2008,Sql Server 2005,Sql Server 2008,我听说您不能先插入一行,然后在SQL Server中的同一事务的下一个语句中立即更新它?但我一直在这样做(SQLServer2005),我的结果表明它已经完成了。我是错过了什么还是做了什么傻事?请开导。谢谢。根据我的经验,如果插入量相对较高,在同一查询中插入和更新可能会导致锁定查询。我会考虑在插入之前创建触发器并在插入之前修改值。不确定这种方法在您的案例中有多重要。但话虽如此,在同一个查询中插入和更新是完全可能的。您能提供您使用的代码吗?您是否有不能这样做的信息来源这可能只是一个误会。这肯定不是

我听说您不能先插入一行,然后在SQL Server中的同一事务的下一个语句中立即更新它?但我一直在这样做(SQLServer2005),我的结果表明它已经完成了。我是错过了什么还是做了什么傻事?请开导。谢谢。

根据我的经验,如果插入量相对较高,在同一查询中插入和更新可能会导致锁定查询。我会考虑在插入之前创建触发器并在插入之前修改值。不确定这种方法在您的案例中有多重要。但话虽如此,在同一个查询中插入和更新是完全可能的。

您能提供您使用的代码吗?您是否有不能这样做的信息来源这可能只是一个误会。这肯定不是我遇到的问题。您可能在SQL Server 2008引入该语句之前就想到了。是的,您可能是对的!此外,我可以使用Output子句来避免触发。但我只是想确定这是否可行(在同一事务中插入和更新)。另外,如果我需要新插入行的identity值来进行进一步处理,我可以更好地使用-SCOPE_identity()而不是使用MAX(id)。。。我希望这也是一个正确的方法。谢谢你们的回复。我还没有结束这个问题,因为我可能会得到一些有趣的评论。声明@LastRecordID int执行插入集@LastRecordID=@@IDENTITY UPDATE table SET Column=Value其中ID=@LastRecordID