create trigger tr
on B
for update
asif update([A.id])
begin
update C
set [a.name]=A.name
from C
join inserted I on C.id=I.id
join A on A.id=I.[A.id]
end
on B
for update
asif update([A.id])
begin
update C
set [a.name]=A.name
from C
join inserted I on C.id=I.id
join A on A.id=I.[A.id]
end
解决方案 »
- 查询分析器输出的表格中,单元格的内容最后是什么字符?
- 虽然没分 如果要的话 我明天给他200
- 谁知道怎么在SQL2005里建立存储过程啊!!!!帮帮小弟
- 数据库连接
- 这样的语句如何写
- 怎么得到结果集其中的一部分?
- sql:like 关键字_for东亚字符 '%中文字符%',sql语句其中的 关键字_for东亚字符 是什么?
- 大家好,请问这样的存储过程怎么写,比较简单,可惜我不会 :(
- 问题1:如何建立一张高校中各学期的综合测评?(行为学号,列为各课程名称及总学分,它的数据环境是一张用select_sql语句生成的临时表或表.显然,课程名称个数是不定的!)
- win8安装SQL2008时遇到问题,求大神指导
- 弱弱地問一下,表的鏈接和where子句有什麼不同
- oracle数据库,字段里的数据是用逗号隔开的多个值,该如何取?sql语句如何写?周末加班,在线等!
(
id int,name varchar(10)
)
create table B
(
id int,name varchar(10),[A.id] int
)
create table C
(
id int,txt varchar(10),Bid varchar(10),name varchar(10),[a.name] varchar(10)
)
insert A
select 1,'O型' union
select 2,'A型' union
select 3,'AB型'
insert B
select '1001','张三',2 union
select '1002','李四',1
insert C
select 1,'aaa','1001','张三','A型' union
select 2,'bbb','1002','李四','O型'
go--创建触发器
create trigger tr
on B
for update
asif update([A.id])
begin
update C
set [a.name]=A.name
from C
join inserted I on C.Bid=I.id
join A on A.id=I.[A.id]
end
go--测试
update B set [A.id]=3--查看
select * from C--删除测试环境
drop table A,B,C--结果
/*
id txt Bid name a.name
----------- ---------- ---------- ---------- ----------
1 aaa 1001 张三 AB型
2 bbb 1002 李四 AB型(所影响的行数为 2 行)
*/