The following lines contain the word 'select', 'insert', 'update' or 'delete':
SELECT ITEM_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B;
l_num_rows_inserted NUMBER := 0;
DELETE EGO_ITEM_CAT_DENORM_HIER;
INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID, CHILD_CATALOG_GROUP_ID)
SELECT cat_rec.ITEM_CATALOG_GROUP_ID PARENT_CATALOG_GROUP_ID
, IC.ITEM_CATALOG_GROUP_ID CHILD_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = cat_rec.ITEM_CATALOG_GROUP_ID;
l_num_rows_inserted := l_num_rows_inserted + SQL%ROWCOUNT;
IF (l_num_rows_inserted > nvl(fnd_profile.value('EGO_GATHER_STATS'),100)) THEN --{
FND_STATS.GATHER_TABLE_STATS(l_schema, 'EGO_ITEM_CAT_DENORM_HIER');
SELECT PARENT_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR PARENT_CATALOG_GROUP_ID = ITEM_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = p_old_parent_id;
SELECT PARENT_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR PARENT_CATALOG_GROUP_ID = ITEM_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id;
l_num_rows_updated NUMBER := 0;
DELETE FROM EGO_ITEM_CAT_DENORM_HIER
WHERE PARENT_CATALOG_GROUP_ID = p_catalog_group_id;
l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID
, CHILD_CATALOG_GROUP_ID)
( SELECT p_catalog_group_id PARENT_CATALOG_GROUP_ID,
IC.ITEM_CATALOG_GROUP_ID CHILD_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
--Delete the records for the current child hierarchy from the old parent hierarchy
DELETE FROM EGO_ITEM_CAT_DENORM_HIER
WHERE PARENT_CATALOG_GROUP_ID = p_old_parent_id
AND CHILD_CATALOG_GROUP_ID IN
( SELECT IC.ITEM_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
--Now delete the records for the current child hierarchy for each parent in the old parent hierarchy,
FOR old_parent_rec IN old_parent_hierarchy
LOOP
--{
IF (old_parent_rec.PARENT_CATALOG_GROUP_ID IS NOT NULL) THEN
--{
DELETE FROM EGO_ITEM_CAT_DENORM_HIER
WHERE PARENT_CATALOG_GROUP_ID = old_parent_rec.PARENT_CATALOG_GROUP_ID
AND CHILD_CATALOG_GROUP_ID IN
( SELECT IC.ITEM_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
INSERT INTO EGO_ITEM_CAT_DENORM_HIER(PARENT_CATALOG_GROUP_ID
, CHILD_CATALOG_GROUP_ID)
( SELECT new_parent_rec.PARENT_CATALOG_GROUP_ID PARENT_CATALOG_GROUP_ID,
IC.ITEM_CATALOG_GROUP_ID CHILD_CATALOG_GROUP_ID
FROM MTL_ITEM_CATALOG_GROUPS_B IC
CONNECT BY PRIOR ITEM_CATALOG_GROUP_ID = PARENT_CATALOG_GROUP_ID
START WITH ITEM_CATALOG_GROUP_ID = p_catalog_group_id );
l_num_rows_updated := l_num_rows_updated + SQL%ROWCOUNT;
IF (l_num_rows_updated > nvl(fnd_profile.value('EGO_GATHER_STATS'),100)) THEN --{
FND_STATS.GATHER_TABLE_STATS(l_schema, 'EGO_ITEM_CAT_DENORM_HIER');