点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)对于具有PK-FK关系的父表和子...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)对于具有PK-FK关系的父表和子...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
对于具有PK-FK关系的父表和子表,情况如下:
父母桌儿童桌
--------------------- ----------------------
PK_COL#<===== PK_COL#
ATT1 ATT1
ATT2 ATT2
时间#
父表的主键为PK_COL,而子表的主键为PK_COL + TIME
需要使子表列与父表保持同步,即。 父表列的任何更改(数据类型更改,重命名等)将立即反映在子表列中。 因此,我为除TIME#之外的所有列设置了子级和父级之间的复制,并且效果很好。
但是,当将新列添加到父表时,例如 ATT3然后在子表中始终按如下所示在ATT2之后添加:
父母桌儿童桌
--------------------- ----------------------
PK_COL#<=== PK_COL#
ATT1 ATT1
ATT2 ATT2
ATT3 ATT3
时间#
通过这种行为,当我们生成2个模型版本之间的增量时,我们总是会得到BACKUP CHILD TABLE,DROP CHILD TABLE和CREATE CHILD TABLE的脚本,并使用新的ATT3,然后从备份中复制回来。 因为通常,Child表的数据量非常大,所以此脚本将需要很长时间才能在数据库中运行和完成。 因此,我们更喜欢ALTER Table ADD列语法,为此,我们需要在子表的末尾添加新列ATT3。
使用VbScript在父表上添加新列时,是否可以删除复制链接并在子表的末尾添加该列? 以及父表的哪个事件处理程序级别?
嗨乔治,
生活不是那么简单:)。
基于表复制,整个子表已与父表同步。 因此,其( #PK_COL ,ATT1,ATT2)中的所有列(除了其自己的部分复合键#TIME外)都与Parent列保持同步。 因此,您不能在这些列上移动或更改任何内容,包括移动。 它只是只读的,因此您没有机会进行更改。
每当在父表中添加新列ATT3时,我都希望拥有
Parent_Tab( #PK_COL ,ATT1,ATT2,ATT3),则子表应类似于Child_Tab(( #PK_COL ,ATT1,ATT2,# TIME ,ATT3)和这些活动必须在用户在Parent表上添加新列时自动完成,因此我认为唯一的方法是在Parent Validate或类似的东西上编写带有事件处理的VB脚本。
一周热门 更多>