【问题标题】:SELECT a cell and UPDATE at the same time?同时选择一个单元格和更新?
【发布时间】:2013-05-31 11:55:45
【问题描述】:

我有一个 SQL Server 表,其中有一列我想选择当前值并递增一,有没有办法在单个查询中执行此操作?这是为了减少其他人获得相同数字的机会(无论多么小)。

类似于此伪代码的内容:

SELECT NumSeriesCurrent 
FROM NumSeries 
(UPDATE NumSeries SET NumSeriesCurrent = NumSeriesCurrent+1) 
WHERE NumSeriesKey='X'

【问题讨论】:

  • UPDATE NumSeries SET NumSeriesCurrent += 1 WHERE NumSeriesKey='X'?或者你不是那个意思?
  • @MartinSmith 好吧,它负责更新,但我仍然无法获得更新前 NumSeriesCurrent 中的值?
  • 不错。可以在mySql中完成吗?
  • @EASI - 要在 MySQL 中模拟 OUTPUT 子句,您需要使用一个触发器来返回结果 AFAIK。

标签: sql sql-server-2008


【解决方案1】:

要更新值并获取更新之前NumSeriesCurrent 中的值,您可以使用

UPDATE NumSeries 
SET NumSeriesCurrent += 1
OUTPUT DELETED.NumSeriesCurrent
WHERE NumSeriesKey='X'

【讨论】:

  • 不知道 OUTPUT 部分... +1
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-01
  • 1970-01-01
  • 2020-02-17
  • 2018-09-19
  • 2014-07-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多