当前位置:  开发笔记 > 数据库 > 正文

确定SQL触发器中的旧主键

如何解决《确定SQL触发器中的旧主键》经验,为你挑选了0个好方法。

我已经在某个地方做到了这一点我确定了!

我有一个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被更改,连接将失败.

我不能修改表格,我在这个数据库中唯一的功能是创建一个触发器.

或者有人可以教我时间旅行,我会回到过去然后问自己我是怎么做到的?干杯:)


编辑:

我想我需要在这里澄清一些事情.这实际上不是我的数据库,它是一个我几乎无法控制的预先存在的系统,除了编写这个触发器.

我的问题是,如果更改了主键,我该如何检索旧主键.我不需要被告知我不应该更改主键或追加外键等.这不是我的问题:)

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有