SQL2005对TSQL的增强之OUTPUT子句

在insert语句或者delete语句执行后,SQL Server只返回受影响的记录行的总数,如果我们想知道到底所插入/所删除的记录的具体信息的话,这就有点复杂了。在SQL Server 2005之前的版本中,如果希望从已插入和已删除的虚拟表.

有这样一个需求,从表中取出一条记录插入到其他的表中之后并且删除记该录。

使用OUTPUT子句的SQL如下

delete top(1) from t_users
output deleted.
user_name,
deleted.create_datetime
into t_user_temp(user_name, create_datetime)

这样的话,是不是方便多了,呵呵

返回受 INSERT、UPDATE 或 DELETE 语句影响的每行的信息,或者返回基于上述每行的表达式。这些结果可以返回到处理应用程序,以供在确认消息、存档以及其他类似的应用程序要求中使用。此外,也可以将结果插入表或表变量。

原文地址:https://www.cnblogs.com/rainnight/p/1805455.html