标题:我该怎样创建触发器?
只看楼主
xzqzhazha
Rank: 1
来 自:四川成都
等 级:新手上路
帖 子:16
专家分:2
注 册:2010-8-31
结帖率:20%
已结贴  问题点数:20 回复次数:3 
我该怎样创建触发器?
A表:
    字段:a,b,c,d
B表:
    字段:e,b,c,f  (b,c为A表的外键)
question1:怎么样在A表创建触发器,使A表的b,c字段更新时触发B表对应的b,c字段更新,如A表b字段原本为aa,更新为AA,B表b字段也由原本的aa,更新为AA
question2:使用sqlserver2008创建触发器时总是显示“transact-SQL intellisense当前不支持create trigger”怎么解决
question3:update触发器触发的时候报错:deleted无效,例如:
create trigger tu_userName
on userInfo
for update
as
declare @beforeUName varchar(8)
declare @afterUName varchar(8)
if update(userName)
begin
    select @beforeUName=userName from deleted
    select @afterUName=userName from inserted
    update borrowInfo set userName=@afterUName where userName=@beforeUName
end
go
执行的时候是正确的,但是触发的时候就报错:对象名‘deleted’无效

   
搜索更多相关主题的帖子: create update 
2013-03-24 22:03
party620
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:18
帖 子:696
专家分:2521
注 册:2013-1-31
得分:20 
answer1:
程序代码:
if exists(select * from sys.objects where name='trg_update')
drop trigger trg_update
go
create trigger trg_update
on a表
after update
as
update b表 set b表.b=inserted.b and b表.c=inserted.c from b表,a表,inserted where b.表.b=a表.b and b表.c=a表.c
你试一下
2013-03-25 09:43
xzqzhazha
Rank: 1
来 自:四川成都
等 级:新手上路
帖 子:16
专家分:2
注 册:2010-8-31
得分:0 
谢谢、问题我解决了、是因为创建了外键的原因...
2013-03-25 22:38
xiaolee
Rank: 2
等 级:论坛游民
帖 子:35
专家分:12
注 册:2013-3-11
得分:0 
+1
2013-04-08 17:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-401805-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.389158 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved