自动记录修改数据库的数据

jelyzhang 2009-08-09 07:45:47
由于项目要求,我要做到记录修改数据库的数据。

记录修改人的方法已经找到了,问题是如何记录每次更新的东西?

要独立用一个表来记录修改记录。

具体要求:
1、对数据库A操作,然后,将有修改的过记录的原数据和新数据记录到数据表B中;


问题是:如何获取更新了哪个字段?如何去记录?


请大虾拯救我啊~~~·
...全文
60 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄_瓜 2009-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jelyzhang 的回复:]
哦哦哦~!~!~天哪~要用触发器的话很麻烦……主要是项目经理人不让人用……有其他方法吗?

毕竟是一个解决方法,能给个实际例子看看吗?
[/Quote]

你们经理为啥不让用触发器
jelyzhang 2009-08-09
  • 打赏
  • 举报
回复
我都觉得他很变态!~!~发泄一下下~哈哈!~

我开发的是B/S系统,前台的话更加复杂了……唉~~~~~~~上天啊~~


学到东西了~~感谢HEROWANG~~~~结帖送分~哈哈~
  • 打赏
  • 举报
回复
这玩意不让用触发器,会把人烦死的
  • 打赏
  • 举报
回复
if object_id('tb') is not null
drop table tb
go
create table tb(id int,name varchar(10))
insert into tb
select 1,'wang'
go
if object_id('tb_log') is not null
drop table tb_log
create table tb_log(id int ,name varchar(10),dml varchar(200))
go
create trigger t_tb
on tb
for insert ,delete,update
as
begin
if not exists(select 1 from deleted)
insert into tb_log
select *,'insert' from inserted
else
if not exists(select 1 from inserted)
insert into tb_log
select * ,'delete' from deleted
else
insert into tb_log
select * ,'update before' from deleted
union all
select * ,'update after' from inserted
end
htl258_Tony 2009-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jelyzhang 的回复:]
哦哦哦~!~!~天哪~要用触发器的话很麻烦……主要是项目经理人不让人用……有其他方法吗?

毕竟是一个解决方法,能给个实际例子看看吗?
[/Quote]
那就用前台程序完成
jelyzhang 2009-08-09
  • 打赏
  • 举报
回复
哦哦哦~!~!~天哪~要用触发器的话很麻烦……主要是项目经理人不让人用……有其他方法吗?

毕竟是一个解决方法,能给个实际例子看看吗?
  • 打赏
  • 举报
回复
使用触发器。在表上建立insert,update,delete触发器。
当进行修改的时候,从inserted中读取插入的数据,deleted中读取删除的数据
SQL77 2009-08-09
  • 打赏
  • 举报
回复
这东西,学习,
华夏小卒 2009-08-09
  • 打赏
  • 举报
回复
学习

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧