table1 采用 Update触发器,如何用最简单的方式识别改了哪个字段,并记日志用户要求,只把改了字段值的日志记下来,不需要全部都记因为一个表为 近 50个字段,求一个最简单的实现方式就是如何比较临时表 Deleted Inserted 只把其中有改动的字段记录下来
如
字段名 修改前值 修改后值 修改时间
如
字段名 修改前值 修改后值 修改时间
解决方案 »
- 关于统计问题
- 如何把两条记录合并?谢谢,最好不容函数。
- 如何把页面的Session传值到SQL语句中
- 横向表的纵向输出,谢谢指点!
- 我的SQL SERVER在删除和修改数据时老提示"键列信息不足或不正确,更新影响到过多的行",请问怎么解决?
- 如何 记录 操作sql server 客户 的 IP 地址 ????????????????????
- 大哥,大姐,俺是菜鸟,有一关于异类查询问题请教,急急!
- 在sql2000中按照一datatime类型的字段排序后取出前十数据项的sql语句怎么写?
- 触发器更新数据问题
- 数据库连接问题,通过命名管道可以连接,通过TCP/IP有时连接正常,有时需要几十秒才能连上
- 【求助】text数据类型问题
- 本人很笨SQL功底差问一条删除的例子!
on table1
for update
as
set nocount on insert 日志(字段名,修改前值,修改后值,修改时间)
select 'col1' as 字段名,d.col1,i.col1,getdate
from inserted i,deleted d
where i.id=d.id
and not (i.col1=d.col1 or i.col1 is null and d.col1 is null)insert 日志(字段名,修改前值,修改后值,修改时间)
select 'col2' as 字段名,d.col1,i.col1,getdate
from inserted i,deleted d
where i.id=d.id
and not (i.col2=d.col2 or i.col2 is null and d.col2 is null)...go
这样的语句,实际表数据没有修改,但是用update(字段)或者COLUMNS_UPDATED()判断读是修改了col1