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

时间:2011-02-03 00:46:56

标签: sql tsql sql-update

我试图在SQL表中找到下面的方法,其中a是位数据类型

  • 如果更新col a = 0,则表中col a的所有其他值应更新为0和
  • 如果更新col a = 1,则表中col a的所有其他值应更新为1.

4 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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

UPDATE table
SET BitColumn = 1 - BitColumn

答案 2 :(得分:0)

怎么样

UPDATE mytable SET a=1

UPDATE mytable SET a=0

答案 3 :(得分:0)

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