2
假设我有一列有一列(是主键),并且我在该表上有触发器以记录任何更改。现在,当更新一个行(主键)在删除我有旧的主要价值,并在插入我有新的主要价值。在多行更新中,我怎样才能将旧值(在删除)绑定到新值(在插入)?插入和删除关于可更改主键的触发器(SQL Server)
例如:
myTable的与一列(也就是主键):
PK
---
1
2
现在我更新1至4和2至3
Deleted
-------
1
2
Inserted
--------
3
4
如何可以记录这些具有三列的审计表中的更改:PK,old_value,new_value
Audit Table
-----------
PK | old_value | new_value
1 | 1 | 4
2 | 2 | 3
在oracle中我们有新旧价值,但在sql server no。
你可以看看[本SO文章(http://stackoverflow.com/questions/6629283/sql-trigger-on-update-of-主键-如何到确定 - 这缺失记录-C)。 –
SQL Server没有行触发器,也没有在'inserted','deleted'表中提供任何类型的逻辑行标识符,可以用来代替PK来加入,所以除了这个之外没有办法做到这一点@ gbn在链接问题中的答案。 –
如果你可以改变你看PK变化的方式。将它们记录为删除和插入。 –