永发信息网

sql update语句问题

答案:4  悬赏:10  手机版
解决时间 2021-06-04 05:04

为表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 insert AS BEGIN update student set 学号=(select 学号 from inserted) where student_id=(select student_id from inserted) END GO

对于这样的问题..希望楼主下次不要那么吝啬多给点分..

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罗那样快啊
求名人小故事
好电影哪找?
飞天西游人物怎么加点
久游{猛将}服务器是不是关了
怎么可以忘记一个人,忘了永远不会想起
推荐资讯
整空间怎么整?有几种方法
关于网上交移动话费的问题.
怎样才能更好的减压?(合理的)
淮阳县周口太昊伏羲陵-蓍草园这个地址怎么能
移动业务什么合适
要怎么开通QQ会员?
嘉禾县郴州金桥饭店这个地址在什么地方,我要
怎样点亮地下城勇士图标?
福建龙岩到杭州包一节火车皮大概多少钱?
有关笔记本电脑?
云南地区可以开发利用的旅游资源主要有哪些?
QQ游戏人生如何点亮
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?