栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

SQL触发器更新另一个表

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SQL触发器更新另一个表

问题将与EMAIL表上缺少主键有关。触发器与不变的主键配合使用效果最佳。

另外,如果某行变为非主要行,您该如何从PERSON中删除该条目?

因此,在问题域中似乎仍然存在一些悬而未决的问题,但这是对触发器的外观的一种刺探。您可以添加一些东西来查找实际发生更改的行-但要注意NULL。

CREATE TRIGGER EMAIL_update ON UPDATEASBEGIN    UPDATE PERSON    SET EMAIL = i.EMAILADDRESS        FROM PERSON    INNER JOIN inserted AS i        ON i.PERSonID = PERSON.PERSonID    INNER JOIN deleted AS d -- could try changing this to a left join and use same trigger for INSERT        ON -- what? could use PERSONID, but it's not unique    WHERe i.ISPRIMARY = 1 -- This helps with uniqueness, but what about things leaving primary?    -- AND i.EMAILADDRESS <> PERSON.EMAIL -- Could add this (what about NULLs?)END


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/634890.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号