     ddl_command := ddl_command
       || declare_block
       ||chr(10)||'BEGIN'
-      || objclass_block
       || pre_block
       ||chr(10)||'  -- delete '||lower(tab_name)||'s'
       || delete_block

  PROCEDURE create_ref_parent_delete(tab_name VARCHAR2, schema_name VARCHAR2 := USER, ref_to_parent_path IN OUT STRARRAY, parent_block OUT VARCHAR2);
  PROCEDURE create_array_delete_dummy(tab_name VARCHAR2, schema_name VARCHAR2 := USER);
  PROCEDURE create_delete_dummy(tab_name VARCHAR2, schema_name VARCHAR2 := USER);
  FUNCTION query_member_1n(tab_name VARCHAR2, schema_name VARCHAR2 := USER) RETURN SYS_REFCURSOR;
  PROCEDURE create_member_1n_array_delete(tab_name VARCHAR2, schema_name VARCHAR2 := USER, member_1n_path IN OUT STRARRAY, vars OUT VARCHAR2, ref_block OUT VARCHAR2);
  PROCEDURE create_member_1n_delete(tab_name VARCHAR2, schema_name VARCHAR2 := USER, member_1n_path IN OUT STRARRAY, vars OUT VARCHAR2, ref_block OUT VARCHAR2);


            -- if found set objectclass condition
            IF objclass IS NOT NULL THEN
              IF child_ref_block IS NULL THEN
                -- create dummy function as it is needed in delete function for child
                create_array_delete_post_dummy(tab_name, schema_name);
                child_ref_block := '';
              END IF;
              child_ref_block := child_ref_block ||
                  chr(10)||'  -- delete '||lower(n_table_name)||'s'
                ||chr(10)||'  IF class_ids MULTISET INTERSECT ID_ARRAY('||citydb_util.id_array2string(objclass, ',')||') IS NOT EMPTY THEN'
