我已经在某个地方做到了这一点我确定了!
我有一个SQL Server 2000表,我需要记录更新字段的更改并插入到第二个Logging表中.我正在使用的结构的简化版本如下:
MainTable ID varchar(10) PRIMARY KEY DESCRIPTION varchar(50) LogTable OLDID varchar(10) NEWID varchar(10)
对于任何其他领域,这样的事情会很有效:
Select i.DESCRIPTION As New, d.DESCRIPTION As Old From Inserted i LEFT JOIN Deleted d On i.ID=d.ID
...但显然如果ID被更改,连接将失败.
我不能修改表格,我在这个数据库中唯一的功能是创建一个触发器.
或者有人可以教我时间旅行,我会回到过去然后问自己我是怎么做到的?干杯:)
编辑:
我想我需要在这里澄清一些事情.这实际上不是我的数据库,它是一个我几乎无法控制的预先存在的系统,除了编写这个触发器.
我的问题是,如果更改了主键,我该如何检索旧主键.我不需要被告知我不应该更改主键或追加外键等.这不是我的问题:)