select t.table_name as table, t.id_column as column from acs_object_types t where t.object_type = :object_type select upper(coalesce(attr.table_name,t.table_name)) as attr_table_name, upper(coalesce(attr.column_name, attr.attribute_name)) as attr_column_name, attr.ancestor_type, attr.min_n_values, attr.default_value from acs_object_type_attributes attr, (select t.object_type, t.table_name, level as type_level from acs_object_types t start with t.object_type = :object_type connect by prior t.supertype = t.object_type) t where attr.ancestor_type = t.object_type and attr.object_type = :object_type order by t.type_level select t.object_type from acs_object_types t where t.dynamic_p = 't' start with t.object_type = :object_type connect by prior t.object_type = t.supertype select t.package_name from acs_object_types t where t.object_type = :object_type select t.table_name, t.id_column, lower(t.package_name) as package_name, t.supertype from acs_object_types t where t.object_type = :object_type select t.table_name, t.id_column, lower(t.package_name) as package_name, t.supertype from acs_object_types t where t.object_type = :object_type select t.table_name, t.id_column, lower(t.package_name) as package_name, t.supertype from acs_object_types t where t.object_type = :object_type select args.argument_name from user_arguments args where args.package_name =upper(:supertype_package_name) and args.object_name='NEW' select t.object_type as ancestor_type from acs_object_types t start with t.object_type = :object_type connect by prior t.supertype = t.object_type select t.object_type as sub_type from acs_object_types t start with t.object_type = :object_type connect by prior t.object_type = t.supertype select t.table_name, t.id_column, lower(t.package_name) as package_name, t.supertype from acs_object_types t where t.object_type = :object_type -- FIX ME DECODE (USE SQL92 CASE) select a.attribute_id, coalesce(a.table_name, t.table_name) as table_name, coalesce(a.column_name, a.attribute_name) as attribute_name, a.pretty_name, a.datatype, decode(a.min_n_values,0,'f','t') as required_p, a.default_value, t.table_name as object_type_table_name, t.id_column as object_type_id_column from acs_object_type_attributes a, (select t.object_type, t.table_name, t.id_column, level as type_level from acs_object_types t start with t.object_type=:start_with connect by prior t.object_type = t.supertype) t where a.object_type = :object_type and t.object_type = a.ancestor_type $storage_clause order by type_level select t.table_name, t.id_column, lower(t.package_name) as package_name, t.supertype from acs_object_types t where t.object_type = :object_type select cols.table_name, cols.column_name from user_tab_columns cols, (select upper(t.table_name) as table_name from acs_object_types t start with t.object_type = :object_type connect by prior t.supertype = t.object_type) t where cols.column_name in (select args.argument_name from user_arguments args where args.position > 0 and args.object_name = upper(:object_name) and args.package_name = upper(:package_name)) and cols.table_name = t.table_name select t.package_name from acs_object_types t where t.object_type = :object_type