TSQL,更新 col a = 0 设置表中 col a =0 的所有值

问题描述 投票:0回答:5

我正在尝试在 SQL 表中找到执行以下操作的方法,其中 a 是位数据类型

  • 如果更新 col a = 0,则表中 col a 的所有其他值应更新为 0 并且
  • 如果更新 col a = 1,则表中 col a 的所有其他值应更新为 1。
sql t-sql sql-update
5个回答
1
投票

您可以使用 INSTEAD OF 触发器。这是一个 Highlander 型触发器,这意味着表上只能有一个(对于每个操作)。

CREATE TRIGGER MyTable_SetBitColumn ON MyTable INSTEAD OF UPDATE
AS BEGIN
  UPDATE MyTable
  SET BitColumn = i.BitColumn
  FROM (SELECT TOP 1 * FROM inserted) i
END

0
投票

您的意思是要切换该列的所有值吗?如果是这样:

UPDATE table
SET BitColumn = 1 - BitColumn

0
投票

怎么样

UPDATE mytable SET a=1

UPDATE mytable SET a=0

0
投票

如果表中的所有行都具有相同的值,则不要将此列存储在此表中。将其存储在另一个具有 1 行的表中。然后,您可以在执行查询时交叉连接到单行表。


0
投票
             UPDATE table_name SET column_name=0;
             UPDATE table_name SET column_name=1;
© www.soinside.com 2019 - 2024. All rights reserved.