现在有张GL_MARRIAGE_PUBLIC_HIS(婚姻历史表) 我要在这上面建个update触发器,只要是修改了一个字段,或者多个字段,就把修改的那一整行保存到inserted表里,GMU_GLOBAL_ID 这是主键,求指导
if(object_id('tgr_public_his_update','TR') is not null)
drop trigger tgr_public_his_update
go
create trigger tgr_public_his_update
on GL_MARRIAGE_PUBLIC_HIS
for update
as
declare @
写到这里我不会了...sql
if(object_id('tgr_public_his_update','TR') is not null)
drop trigger tgr_public_his_update
go
create trigger tgr_public_his_update
on GL_MARRIAGE_PUBLIC_HIS
for update
as
declare @
写到这里我不会了...sql
解决方案 »
- 执行varchar类型的字符串操作出错
- 关于 公用表达式调用
- 删除索引的时候出现‘系统目录不存在’
- 查询公司库用select CompName,CompAddr from CompBase where CompName like '%上海%' or CompAddr like '%上海%',
- sql 高手求解 苦恼了一天
- 请教很多高手,都不知道怎的?
- 关于触发器用到text类型的
- 多个跨省份的用户同时对一个表进行操作,比如insert,delete,update,如何性能最优?
- vfp:关于表单的多层父子关系!
- 查询谁推荐的人数大于50的怎么查询啊?
- 请大神看看,在一个实例下面建多个数据库,并用每个用户名管理各个数据库的问题。
- 两表联合查询,同时进行行列转换,请高手指点,谢谢,急急
drop trigger tgr_public_his_update
go
create trigger tgr_public_his_update
on GL_MARRIAGE_PUBLIC_HIS
for UPDATE --其实这个地方已经记录了更新任何一个地方就触发该触发器了
as
IF EXISTS(SELECT * FROM INSERTED ) AND EXISTS(SELECT * FROM DELETED) --分别验证更新前,及更新后数据存在与否
BEGIN
INSERT INTO GL_MARRIAGE_PUBLIC_HIS_inSerted --新建的一个记录原数据的表
SELECT * FROM DELETED
END
inserted 在处理过程中是一个系统用表
更新后的用inserted 更新前的用deleted
drop trigger tgr_public_his_update
go
create trigger tgr_public_his_update
on GL_MARRIAGE_PUBLIC_HIS
instead of UPDATE
as
IF EXISTS(SELECT * FROM INSERTED ) AND EXISTS(SELECT * FROM DELETED)
BEGIN
INSERT INTO dbo.GL_MARRIAGE_PUBLIC_HIS_INSERTED SELECT * FROM DELETED
END 这是触发器 我把for 用 instead of 替代了。不报错了,但是我用sql语句修改测试的时候,GL_MARRIAGE_PUBLIC_HIS(婚姻历史表)更新不了 。触发器里也是没更新的数据,这触发器有问题,麻烦你帮我看看好么 下面是表结构图