Sql server 2 update语句到output子句

Sql server 2 update语句到output子句,sql-server,sql-server-2008,Sql Server,Sql Server 2008,有人能帮助我如何在sql server中编写with output子句吗?我知道问题出在哪里了:我应该使用output关键字,从第二个update语句中获取值,并将这些值插入第一个update语句中。这可以通过使用output子句来完成杜尔加 您只需更改更新语句的位置。 首先更新表“b”中的pin_编号,然后将表“a”中的所有update_标志设置为“1” 那么你就根本不需要输出了。只有一个限制:您必须将其包装在事务中 UPDATE b SET b.update_flag=0 from ta

有人能帮助我如何在sql server中编写with output子句吗?我知道问题出在哪里了:
我应该使用output关键字,从第二个update语句中获取值,并将这些值插入第一个update语句中。这可以通过使用output子句来完成杜尔加

您只需更改更新语句的位置。
首先更新表“b”中的
pin_编号
,然后将表“a”中的所有
update_标志设置为“1”

那么你就根本不需要输出了。只有一个限制:您必须将其包装在事务中

UPDATE b
SET  b.update_flag=0 
from table1 a
inner join table2 b on a.user_code=b.user_code 
where a.pin_number IS NULL

UPDATE a
SET a.pin_number = Adinfo.dbo.udf_ad_Encrypt(b.pin_number)
from table1 a
inner join table2 b on a.user_code=b.user_code 
where a.pin_number IS NULL 

“输出子句”是什么意思?你是说这是针对存储过程的吗?我应该使用output关键字,从第二个update语句中获取值,并将这些值插入到第一个update语句中。这可以通过使用output子句来完成。更新没有“输出”,可能只是受影响的行数。您希望从更新中检索什么值?为什么不先更新,然后在select语句的帮助下运行第二次更新,该语句将根据第一次更新检索您想要检索的内容。我用这个方法。但是我想使用output子句来获得它。我已经提出了更简单的方法。您没有说明为什么要使用
输出
。我想你知道如何找到关于如何使用它的文档。
BEGIN TRANSACTION 

UPDATE a
SET a.pin_number = Adinfo.dbo.udf_ad_Encrypt(b.pin_number)
from table1 a
inner join table2 b on a.user_code=b.user_code 
where a.pin_number IS NULL

UPDATE b
SET  b.update_flag=0 
from table1 a
inner join table2 b on a.user_code=b.user_code 
where a.pin_number IS NULL

COMMIT TRANSACTION