1: procedure delete_user_group(v_group_id integer)
2: IS
3: sql_stmt varchar(500);
4: v_group_type_table varchar(20);
5: BEGIN
6: delete from user_group_map_queue
7: where group_id = v_group_id;
8:
9: delete from user_group_map
10: where group_id = v_group_id;
11:
12: -- delete from the user group's info table
13: select trim(group_type) || '_info' into v_group_type_table
14: from user_groups
15: where group_id = v_group_id;
16:
17: sql_stmt := 'delete from ' || v_group_type_table ||
18: ' where group_id = :id';
19: EXECUTE IMMEDIATE sql_stmt using v_group_id;
20:
21: delete from user_group_member_fields where group_id = v_group_id;
22:
23: delete from user_group_roles where group_id = v_group_id;
24:
25: delete from user_group_action_role_map where group_id = v_group_id;
26:
27: delete from user_group_actions where group_id = v_group_id;
28:
29: delete from content_section_links
30: where from_section_id in (select section_id
31: from content_sections
32: where scope='group'
33: and group_id=v_group_id)
34: or to_section_id in (select section_id
35: from content_sections
36: where scope='group'
37: and group_id=v_group_id);
38:
39: delete from content_files
40: where section_id in (select section_id
41: from content_sections
42: where scope='group'
43: and group_id=v_group_id);
44:
45: delete from content_sections
46: where scope='group'
47: and group_id=v_group_id;
48:
49: delete from faqs
50: where scope='group'
51: and group_id=v_group_id;
52:
53: delete from page_logos
54: where scope='group'
55: and group_id=v_group_id;
56:
57: delete from css_simple
58: where scope='group'
59: and group_id=v_group_id;
60:
61: delete from downloads
62: where scope='group'
63: and group_id=v_group_id;
64:
65: delete from user_groups
66: where group_id = v_group_id;
67: END delete_user_group;
|