以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关联,以identify构成辅助列问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=125151) |
-- 作者:susu312 -- 发布时间:2018/9/20 22:27:00 -- 关联,以identify构成辅助列问题
老师,
单位表 部门表 人员表 这三个表之间设置了关联,
1、如果单位表删除的话,则对应该该单位的部门、人员都删除了,这样风险好大啊 2、而如果不设置同步删除,那么把单位删除了,部门表,人员表的辅助列都是依赖于原单位的ID,如果原单位删除了,数据虽然在库里面 ,但是它已经是废数据了,
想设置成可以删除,完了再添加上之后,部门表的辅助列,人员表的辅助列可以对应到新添加的这个同名单位上? |
-- 作者:有点甜 -- 发布时间:2018/9/20 22:32:00 -- 1、你可以用别的列关联,不一定要用 _Identify;
2、如果要保留数据,那就不要同步删除;
3、不明白你到底要做什么。 |
-- 作者:susu312 -- 发布时间:2018/9/20 23:01:00 -- 以下是引用有点甜在2018/9/20 22:32:00的发言:
1、你可以用别的列关联,不一定要用 _Identify;
2、如果要保留数据,那就不要同步删除;
3、不明白你到底要做什么。
老师,问题的点在:
1、设置同步删除的情况: 比如我把榆林市中心支行删除了,那么它对应的部门,人员都删除了,但是它下属单位还没有删除, 下属单位如绥德县支行,它有一个辅助列,这个辅助列是榆林市中心支行的ID+绥德县支行的ID构成的,系统也是借助这个辅助列来排序的,那么此时这个绥德县支行也就是废数据了,
2、不设置同步删除的情况: 榆林市中心支行删除了, 它对应的部门,人员依然存在,而每一个部门也有一个辅助列=该榆林市中心支行的辅助列=榆林市中心支行的ID,那么此时它的存在也没有意义了
本质原因,部门和人员表里面的辅助列依赖于它对应单位的ID,如果删除重新录入后,ID就变了,那么该单位对应的所有部门和人员的ID就不一致了, |
-- 作者:有点甜 -- 发布时间:2018/9/20 23:26:00 -- 1、datarowdeleting事件,把符合条件的一同删除
http://www.foxtable.com/webhelp/scr/0394.htm
2、在datarowdeleting事件,根据自己的逻辑,把各个表对应条件的行删除 |