我试图在SQL表中找到下面的方法,其中a是位数据类型
答案 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行的表中。然后,您可以在进行查询时交叉连接到单行表。