仅当所有值均为空时才触发删除列

时间:2014-05-24 00:27:25

标签: sql-server triggers

如果仅当特定字段上的所有值都为空时,如何创建仅删除列的触发器?

1 个答案:

答案 0 :(得分:0)

你是什么意思"创造一个触发器"?您是否想要一个更新/删除触发器,当所有值变为NULL时,该触发器将删除列?

如果是这样,那是不可能的。 "删除列"真的是alter table drop column。在create trigger documentation的备注部分中:

  

此外,不允许使用以下Transact-SQL语句   DML触发器的主体内部,当它用于表或   view是触发操作的目标。 。

     
      
  • 用于执行以下操作的ALTER TABLE:添加,修改或删除列。切换分区。添加或删除PRIMARY KEY或UNIQUE
      约束
  •   

因此,你想做的事情是不可能的。此外,我不明白你为什么要这样做。数据驱动的数据结构变化似乎很奇怪。我猜你的数据结构确实想成为一个联结/关联表,但是你没有提供足够的信息来进一步推测。