2013-09-29 44 views
0

我有一个Update Trigger,它将日志表的更改记录到日志表中。如何避免在Sql更新触发器中对Id进行硬编码

在日志表中有一列存储所做更改的类型,即插入或更新。

然后我有一个日志类型表三排,一排为“更新”和一个“插入”,一个为ID的1,2“已删除”,3

在更新触发,并在插入日志表时硬编码2的值。但是这对我的编码员来说似乎是一种糟糕的做法。

我能想到的唯一替代方案是在LogType表中有一个“Key”列,然后具有'UPDATE'的'Key'然后这将被硬编码到更新后的触发器中。

但这有什么好处吗?有没有其他方法可以解决这个问题?作为一名C#程序员,我会使用一个枚举,但Sql中没有这种概念。

格雷格

+1

其实没有看到使用该值的问题。我有时会发现它使我的编码器更加平静,使得像@Update这样的“常量”,并将其设置为2,然后在SQL中使用它。没有技术上的差异,但感觉正确,更好地表达了你正在做的事情。 – asantaballa

回答

1

我没有看到一个问题,在你提出什么,我使用触发器来维护历史表,而是如果数值我用一个单一的字符:“我”,“U”或'D',因此不需要查找/枚举来记住哪个值是哪个操作。

+0

伟大的一点@Tony。 –

相关问题