我有以下数据库表:
在这些表中,我有以下元素:
容器:可以包含任何container_item元素; 使用表CONTAINER_CANDIDATES存储关系
Container_Item:可以包含任何元素项; 使用表COMPOUNDS存储关系
元素:我系统中的基本元素.
让我用一个具体案例来说明问题:
在ELEMENTS表中,我可以存储以下元素:
Id = 1 ; ElementName = 'element001' Id = 2 ; ElementName = 'element002' Id = 3 ; ElementName = 'element003' Id = 4 ; ElementName = 'element004' Id = 5 ; ElementName = 'element005' Id = 6 ; ElementName = 'element006' Id = 7 ; ElementName = 'element007'
在表CONTAINER_ITEM中,我可以存储以下元素:
Id = 1 ; COntainerItemName= 'item-id-aaa' Id = 2 ; COntainerItemName= 'item-id-bbb' Id = 3 ; COntainerItemName= 'item-id-ccc' Id = 4 ; COntainerItemName= 'item-id-ddd' Id = 5 ; COntainerItemName= 'item-id-eee'
在表CONTAINER中,我可以存储以下元素:
Id = 1; COntainerName= 'ContainerName01'; Id = 2; COntainerName= 'ContainerName02';
使用表COMPOUNDS我进行以下连接:
- item-id-aaa (id = 1 in Container_Item table) -> element001 (id = 1 in Elements table) -> element002 (id = 2 in Elements table) - item-id-bbb (id = 2 in Container_Item table) -> element003 (id = 3 in Elements table) -> element004 (id = 4 in Elements table) - item-id-ccc (id = 3 in Container_Item table) -> element005 (id = 5 in Elements table) -> element006 (id = 6 in Elements table) - item-id-ddd (id = 4 in Container_Item table) -> element005 (id = 5 in Elements table) -> element007 (id = 7 in Elemens table); - item-id-eee (id = 5 in Container_Item table) -> element-007 (id = 7 in Elemens table)
使用表CONTAINER_CANDIDATES我进行以下连接:
- ContainerName01 contains the following : -> item-id-aaa (id = 1 in Container_Item table) -> item-id-bbb (id = 2 in COntainer_Item table) -> item-id-ccc (id = 3 in COntainer_Item table) -> item-id-ddd (id = 4 in COntainer_Item table) - ContainerName02 contains the following: -> item-id-aaa (id = 1 in Container_Item table) -> item-id-eee (id = 5 in COntainer_Item table)
所以通过这种方式我创建了所有的连接.现在的问题是如何删除ContainerName01及其下的所有项目(其下的容器项和元素),以便其他容器(例如:ContainerName02)完全不受影响?
我想使用Oracle PL SQL过程实现此目的