为表student创建一个update触发器student_update2,当修改该表student中某学生学号时,同时将表student_course中该学生的学号更新
学号用student_id表示,两表共同点就是student_id
为表student创建一个update触发器student_update2,当修改该表student中某学生学号时,同时将表student_course中该学生的学号更新
学号用student_id表示,两表共同点就是student_id
create trigger student_update2 on student
for update
AS
declare @studentid char()
select @studentid=inserted.student_id from inserted,student
where student.student_id=inserted.student_id
update student_course
set student_course.student_id=@studentid
from deleted,student_course
where student_course.student_id=deleted.student_id
设置级联更新。在表关系里面设置。那里面有INSERT与UPDATE规范。设置成级联就可以了。
不过好像如果你是更新主键的话,系统会自动帮你更新外键表的引用。如果不更新,你就手动设置成级联。
如score表引用了user表的主键,在两表的关系中的INSERT与UPDATE规范中设置成层叠,在删除主键表记录的时候就会级联删除外键表对应的记录。层叠就表示删除或更新的同时也会删除或更新对应的外键表数据。这里也可以设置为空值或其他值。
对于这样的问题..希望楼主下次不要那么吝啬多给点分..
create trigger student_update2 on student for update AS
if update (student_id) begin
declare @new_id int,@old_id int --因为你没说数据类型.这里假定学号是整型.
select @new_id=student_id
from inserted
select @old_id=student_id
from deleted
update student_course
set student_id=@new_id
where student_id=@old_id
end
现在哪些歌最好听? |
现在社会市场最短缺什么产品? |
牙龈肿痛并出血怎么办 |
女孩学什么技术好呢? |
有没有支持笔记本的电脑主题啊? |
求购Q版老夫妇 |
泌阳县驻马店胖全卤肉地址在什么地方,想今天 |
怎样才能使心情好? |
问道之100级问道号 |
怎样才能像C罗那样快啊 |
求名人小故事 |
好电影哪找? |
飞天西游人物怎么加点 |
久游{猛将}服务器是不是关了 |
怎么可以忘记一个人,忘了永远不会想起 |