以文本方式查看主题

-  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.png
图片点击可在新窗口打开查看

 

老师,问题的点在:

 

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事件,根据自己的逻辑,把各个表对应条件的行删除