有没有这样的触发器或者类似的机制 我用的数据库是Sql Server2005,比如有A表和B表,现在我要记录这两个表的操作,比如A表增加了一条数据,那就要记录下表名(A)、主键(ID)、操作类型(add),B表也是需要一样的功能。是不是要分别建立针对A和B的触发器?如果有十几个表的话,是不是要建立十几个触发器。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 SQL2005木有好的办法,只能一个个建,2008可以用cdc(change data capture) 同, 2008 以下的只能通过触发器来一个一个获取。2008 上可以使用CDC来捕获。但是不能同时捕获操作者相关信息,确实一个遗憾,希望MS能改进。 可以这样:exec('create proc ') 也不用一个一表的建,从sysobjects中取得表名称,构建一游标,拼出建触发器的语法,再exec,因为整个要改的就是表名称+字段名称,其它部分是固定的 愚见:建一个表: create table 记录表(表名 ,主键 ,操作类型)在外边程序中控制,当向A表(insert、update、delete)一条数据时,向 记录表插入一条记录..加个事务,不然A表操作失败时也记录到了 记录表就哦噢了~~~ sql2000 union 问题 刚装了MYSQL4.0.22 有个连接问题请教 数据类型 问题已经解决 请教,sql2000如何安装sp3呀? 数据库更新 如何知道sql 2000是否打上sql sp3补丁? 关键字相同的几个语句如何插入 数据库自动备份问题 请问:怎么才能把软件作成适应多种数据库的版本 表的转换问题,急!!!!!谢谢!!! sql 2000向上进位问题
同, 2008 以下的只能通过触发器来一个一个获取。2008 上可以使用CDC来捕获。但是不能同时捕获操作者相关信息,确实一个遗憾,希望MS能改进。
从sysobjects中取得表名称,
构建一游标,拼出建触发器的语法,
再exec,因为整个要改的就是表名称+字段名称,其它部分是固定的
建一个表:
create table 记录表
(表名 ,主键 ,操作类型)在外边程序中控制,当向A表(insert、update、delete)一条数据时,向 记录表插入一条记录..
加个事务,不然A表操作失败时也记录到了 记录表就哦噢了~~~