如何避免在Sql Update Trigger中硬编码Id

时间:2013-09-29 12:51:46

标签: sql sql-server-2008-r2

我有一个更新触发器,可以将表更改记录到日志表中。

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

然后我有一个包含三行的LogType表,一行用于'Update',一行用于'Insert',另一行用于'Deleted',Id为1,2,3。

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

我能想到的唯一替代方法是在LogType表中使用“Key”列,然后使用'Key'为'UPDATE'然后将其硬编码到更新的触发器中。

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

格雷格

1 个答案:

答案 0 :(得分:1)

我没有看到你提出的问题,我使用触发器来维护历史表,但是如果数值我使用一个字符:'我','U'或'D'就像那时那样不需要查找/枚举来记住哪个值是哪个操作。