рд╢реБрдн рджреЛрдкрд╣рд░ рд╣рдо рд░реЛрд╕реНрдЯреЗрд▓рдХреЙрдо рдХреЗ рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди рдкреНрд░рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреА рдПрдХ рдЯреАрдо рд╣реИрдВред рд╣рдорд╛рд░реА рдХрдВрдкрдиреА рдХреЗ рдкрд╛рд╕ 300 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рд╣реИрдВ - рдЗрд╕ рддрд░рд╣ рдХреА рд╡рд┐рд╡рд┐рдзрддрд╛ рд╕рднреА рдХрдИ рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рд░реЛрд╕реНрдЯреЗрд▓рдХреЙрдо рдХреЗ рдХрд╛рдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╣рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ рд▓реВрдк рдкрд░ рдЕрдкрд▓реЛрдб рдХрд░реЗрдВред
рд╕рддрд╣ рдкрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕рд╛ рд░реЛрд╡рд░ред рдЗрд╕рдХреЗ рдХрдИ рд╡рд┐рд╖рдо рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рднреА рд╣реИрдВред Therahnuma.com рд╕реЗ рд▓реА рдЧрдИ рдЫрд╡рд┐редрдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рджреЛ рдЙрдк-рдкреНрд░рдХрд╛рд░реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╖реНрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ: рдЕрдкрдиреЗ рдЧреБрдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реНрд░реЛрдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рд╕реЗ рдбреЗрдЯрд╛ рдПрдХрддреНрд░ рдХрд░рдиреЗ рдФрд░ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдХреЗ "рд░рд┐рд╕реАрд╡рд░реНрд╕" рддреИрдпрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд░рдгрдиреАрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рд╡рд┐рднрд┐рдиреНрди GUI рдФрд░ рд░рд┐рд╡рд░реНрд╕ рдЗрдВрдЬреАрдирд┐рдпрд░рд┐рдВрдЧ рдЯреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬрд╛рдирдХрд╛рд░реА рдПрдХрддреНрд░ рдХрд░рддреЗ рд╕рдордп, рдПрдХ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХ DBMS рд╕реВрдЪрдирд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ (рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдУрд░реЗрдХрд▓) рдХреЗ рд╕рд╣рд╛рдпрдХ рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдПрдХ рдкреВрд▓ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╣рдорд╛рд░реА рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдРрд╕реА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ "рд╕рдЬреНрдЬрди рд╕реЗрдЯ" рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред
рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реВрдЪреАрдмрджреНрдз рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдХреА рдПрдХ рдЫреЛрдЯреА рд╡реНрдпрд╛рдЦреНрдпрд╛:
- рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ xmlagg рдХрд╛ рдЙрдкрдпреЛрдЧ рдПрдЧреНрд░реАрдЧреЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП рдХрд░рддреА рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд▓рд┐рд╕реНрдЯрд╛рдЧреЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд▓рд┐рд╕реНрдЯреИрдЧ рдмрд╣реБрдд рд▓рдВрдмреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
- "рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдХрд╛рд░реНрдп рдФрд░ рдкреИрдХреЗрдЬ" рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рд▓рд┐рдкрд┐рдпреЛрдВ рдореЗрдВ, рд▓рдХреНрд╖реНрдп рддрд╛рд▓рд┐рдХрд╛ рдХреЛ "рддрд╛рд▓рд┐рдХрд╛" рдмреНрд▓реЙрдХ рдореЗрдВ рдлрд╝рд┐рд▓реНрдЯрд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпреЛрдЬрдирд╛ рдХрд╛ рдирд╛рдо рдФрд░ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо рднрд░рд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреА рд╣реИ, рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рд╡рд┐рд╡рд░рдг (рдкрд░рд┐рдгрд╛рдо рд╕реЗрдЯ), рдФрд░ рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕реВрдЪреА (рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛ :
рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_tab_columns, all_tab_comments, all_tab_statistics, all_part_key_columns, all_subpart_key_columnsред
рд╕реНрд░реЛрдд рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдбреЗрдЯрд╛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рдгрдиреАрддрд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА рдЙрдкрдпреЛрдЧреА рд╣реИред рдпрджрд┐ рдкреНрд░рд╛рдердорд┐рдХ рдХреБрдВрдЬреА рдХреЛ рд╡рд┐рдЪрд╛рд░ рдХреЗ рддрд╣рдд рдЯреЗрдмрд▓ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдЙрд╕ рдкрд░ "рд╡реЗрддрди рд╡реГрджреНрдзрд┐" рдХреЗ рдмрд╛рдж рдХреЗ рдЖрд╡рдВрдЯрди рдХреЗ рд╕рд╛рде рдЕрдирд▓реЛрдбрд┐рдВрдЧ рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдпрджрд┐ рдХреЛрдИ рд╕рдордп рдЯрд┐рдХрдЯ рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рдбрд╛рд▓рдиреЗ рдпрд╛ рдЕрджреНрдпрддрди рдХрд░рдиреЗ рдХреА рдЬрд╛рдирдХрд╛рд░реА рд╡рд╛рд▓реЗ рддрдХрдиреАрдХреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ - рдЖрдк рдХреЗрд╡рд▓ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдкрд░рд┐рд╡рд░реНрддрд┐рдд / рдЬреЛрдбрд╝реЗ рдЧрдП рд░рд┐рдХреЙрд░реНрдб рдЕрдкрд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд┐рднрд╛рдЬрди рдХреА рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдорд╛рди рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╕рдордп рдХрд╛рдо рдЖ рд╕рдХрддреА рд╣реИ, "рд░рд┐рд╕реАрд╡рд░"ред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп:with filter (owner, table_name) as ( select 'SCHEMA_NAME_1', t.* from table( sys.odcivarchar2list( 'TABLE_NAME_1' , 'TABLE_NAME_2' ) ) t union all select owner , table_name from all_tables where owner = 'SCHEMA_NAME_2' ) select a.owner as schema_name , a.table_name , e.comments , b.height , c.width , d.datetime_columns , b.avg_row_len , p.part_key , s.subpart_key from filter a left join ( select owner , table_name , num_rows as height , avg_row_len from all_tab_statistics where object_type = 'TABLE' ) b on a.table_name = b.table_name and a.owner = b.owner left join ( select owner , table_name , count(1) as width from all_tab_columns group by owner , table_name ) c on a.table_name = c.table_name and a.owner = c.owner left join ( select owner , table_name , listagg( column_name || ' (' || data_type || ')' , ', ' ) within group (order by column_id) as datetime_columns from all_tab_columns where data_type = 'DATE' or data_type like 'TIMESTAMP%' or data_type like 'INTERVAL%' or lower(column_name) like '%period%' or lower(column_name) like '%date%' or lower(column_name) like '%time%' group by owner , table_name ) d on a.table_name = d.table_name and a.owner = d.owner left join ( select owner , table_name , comments from all_tab_comments where table_type = 'TABLE' ) e on a.table_name = e.table_name and a.owner = e.owner left join ( select owner , name as table_name , listagg( column_name , ', ' ) within group (order by column_position) as part_key from all_part_key_columns where object_type = 'TABLE' group by owner , name ) p on a.owner = p.owner and a.table_name = p.table_name left join ( select owner , name as table_name , listagg( column_name , ', ' ) within group (order by column_position) as subpart_key from all_subpart_key_columns where object_type = 'TABLE' group by owner , name ) s on a.owner = s.owner and a.table_name = s.table_name order by e.owner , e.table_name ;
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рд╡рд┐рднрд╛рдЬрди рдФрд░ рдЙрдкрдкреНрд░рдХрд╛рд░"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛:
рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_tab_partitions, all_tab_subpartitions, all_part_key_columns, all_subpart_key_columnsред
рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рднрд╛рдЬрди рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдирд╛рдо, рдЖрдХрд╛рд░) рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдЬрдм рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп: with filter (owner, table_name) as ( select 'SCHEMA_NAME_1', t.* from table( sys.odcivarchar2list( 'TABLE_NAME_1' , 'TABLE_NAME_2' ) ) t union all select owner , table_name from all_tables where owner = 'SCHEMA_NAME_2' ) select f.owner as schema_name , f.table_name , p.part_key , pc.partition_name , pc.partition_position , pc.num_rows as partition_height , s.subpart_key , sc.subpartition_name , sc.subpartition_position , sc.num_rows as subpartition_height from filter f join ( select owner , name as table_name , listagg( column_name , ', ' ) within group (order by column_position) as part_key from all_part_key_columns where object_type = 'TABLE' group by owner , name ) p on f.owner = p.owner and f.table_name = p.table_name left join all_tab_partitions pc on p.table_name = pc.table_name and p.owner = pc.table_owner left join ( select owner , name as table_name , listagg( column_name , ', ' ) within group (order by column_position) as subpart_key from all_subpart_key_columns where object_type = 'TABLE' group by owner , name ) s on p.owner = s.owner and p.table_name = s.table_name left join all_tab_subpartitions sc on f.owner = sc.table_owner and f.table_name = sc.table_name and pc.partition_name = sc.partition_name order by f.owner , f.table_name ;
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд░рдЪрдирд╛ рд░рдЪрдирд╛"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛:
рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_tables, all_constraints, all_cons_columns, all_tab_columns, all_col_comments, v $ nls_parametersред
рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдбреЗрдЯрд╛ рд╡реЗрдпрд░рд╣рд╛рдЙрд╕ рдореЗрдВ "рд░рд┐рд╕реАрд╡рд░" рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛрдЧреА рдЬрдм рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА, рдЕрдиреНрдп рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╕рдВрд░рдЪрдирд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдлрд╝рд┐рд▓реНрдЯрд░ 2 рдЯреЗрдмрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЯреЗрдмрд▓ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ (рд╕реЗ рдФрд░) рдЦреЛрдЬреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рд┐рд╕реНрдЯрдо рд╕реНрдХреАрдореЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рд╕рднреА рдпреЛрдЬрдирд╛рдУрдВ рд╕реЗ рддрд╛рд▓рд┐рдХрд╛рдПрдВ рд▓реА рдЬрд╛рддреА рд╣реИрдВред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп: with filter (owner, table_name) as ( select 'SCHEMA_NAME_1', t.* from table( sys.odcivarchar2list( 'TABLE_NAME_1' , 'TABLE_NAME_2' ) ) t union all select owner , table_name from all_tables where owner = 'SCHEMA_NAME_2' ) , filter2 (owner, table_name) as ( select owner, table_name from all_tables where owner not in ('MDSYS', 'CTXSYS', 'SYSTEM', 'XDB', 'SYS') ) , refs as ( select b.constraint_type as from_constraint_type , b.constraint_name as from_constraint_name , d.position as from_position , d.column_name as from_column_name , b.table_name as from_table_name , b.owner as from_owner , a.owner as to_owner , a.table_name as to_table_name , c.column_name as to_column_name , c.position as to_position , a.constraint_name as to_constraint_name , a.constraint_type as to_constraint_type from all_constraints a left join all_constraints b on a.r_constraint_name = b.constraint_name and a.r_owner = b.owner left join all_cons_columns c on a.constraint_name = c.constraint_name and a.table_name = c.table_name and a.owner = c.owner left join all_cons_columns d on b.constraint_name = d.constraint_name and b.table_name = d.table_name and b.owner = d.owner where a.constraint_type = 'R' and b.constraint_type in ('P', 'U') and c.position = d.position ) , depends as ( select rtrim( xmlagg( xmlelement( e , to_owner || '.' || to_table_name || '.' || to_column_name , ', ' ).extract('//text()') order by to_owner ).getclobval() , ', ' ) as val , from_owner as owner , from_table_name as table_name , from_column_name as column_name from refs where (to_owner, to_table_name) in (select * from filter2) group by from_table_name , from_column_name , from_owner ) , impacts as ( select rtrim( xmlagg( xmlelement( e , from_owner || '.' || from_table_name || '.' || from_column_name , ', ' ).extract('//text()') order by from_owner ).getclobval() , ', ' ) as val , to_owner as owner , to_table_name as table_name , to_column_name as column_name from refs where (from_owner, from_table_name) in (select * from filter2) group by to_table_name , to_column_name , to_owner ) select f.owner as schema_name , f.table_name , a.column_id , a.column_name , a.data_type , b.comments as column_comment , decode ( a.data_type , 'NUMBER', nvl(a.data_scale, 0) , '' ) as scale , decode ( a.data_type , 'NUMBER', nvl(a.data_precision, 38) , '' ) as precision , a.data_length as byte_length , case when a.data_type in ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2') then d.value end as encoding , case when a.data_type in ('CHAR', 'VARCHAR2', 'NCHAR', 'NVARCHAR2') then a.char_length
рд╕реНрдХреНрд░рд┐рдкреНрдЯ "рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ, рдХрд╛рд░реНрдп рдФрд░ рдкреИрдХреЗрдЬ"
рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛:рдкреНрд░рдпреБрдХреНрдд рд╕рд┐рд╕реНрдЯрдо рдЯреЗрдмрд▓: all_source
рд╕реНрд░реЛрдд рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╕рдордп, рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдкрд░рд┐рд╕рдВрдЪрд╛рд░реА рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХрд╛рд░реНрдп рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕рдВрдХреБрд▓, рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдХреЛрдб рдЖрдзрд╛рд░ рдХреЗ рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рд▓рдЧрднрдЧ рдЕрд╕рдВрднрд╡ рд╣реИ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдкреВрд░реНрдг рдпрд╛ рд▓рд╛рдкрддрд╛ рдкреНрд░рд▓реЗрдЦрди рдХреЗ рд╕рд╛рдеред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реВрдЪреАрдмрджреНрдз рд╡рд╕реНрддреБрдУрдВ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдХрдВрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреНрд╡реЗрд░реА рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдПрдХ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЖрдкрдХреЗ рдкрд╕рдВрджреАрджрд╛ рд╕рдВрдкрд╛рджрдХ рджреНрд╡рд╛рд░рд╛ рдЖрдЧреЗ рдХреЗ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╣реИрдВрдбрд▓рд░ (рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ) рджреНрд╡рд╛рд░рд╛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рднрд┐рдиреНрди рд╣реИрдВрдбрд▓рд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдкрд░ "рддреНрд░рд┐рд╢рдВрдХреБ" рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рд╕реМрдВрджрд░реНрдпреАрдХрд░рдг, рдЕрд▓рдВрдХреГрдд рдХрд░рдирд╛, рдЖрджрд┐ред
рдЕрдиреБрд░реЛрдз рдирд┐рдХрд╛рдп: select t.owner as schema_name , t.name as name , xmlagg( xmlelement( e , t.text , '' ).extract('//text()') order by t.line asc ).getclobval() as body , f.wrapped , t.type as type from ( select owner, name, type , case when lower(text) like '%wrapped%' then 1 else 0 end as wrapped from all_source where type in ( 'PACKAGE BODY' , 'PACKAGE' , 'FUNCTION' , 'PROCEDURE' ) and line = 1 and owner not in ('MDSYS', 'CTXSYS', 'SYSTEM', 'XDB', 'SYS') ) f join all_source t on f.owner = t.owner and f.name = t.name and f.type = t.type group by t.owner , t.name , t.type , f.wrapped order by t.owner , t.name , t.type ;
рдирд┐рд╖реНрдХрд░реНрд╖
рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рдорд╛рд░реЗ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреЗ рдХрдИ рдирд┐рдпрдорд┐рдд рдХрд╛рд░реНрдпреЛрдВ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреА рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рд░рдЪрдирд╛рддреНрдордХ рдЪреАрдЬреЛрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреА рд╣реИрдВ, рдЬреИрд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рд░рдгрдиреАрддрд┐ рдФрд░ "рд░рд┐рд╕реАрд╡рд░" рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╕рдВрд░рдЪрдирд╛ред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрдкрдХреЗ рд▓рд┐рдП рднреА рдХрд╛рдо рдЖрдПрдЧреАред рдпрд╣ рдЬрд╛рдирдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдХрд┐ рдЖрдк рдЗрди рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рддреЗ рд╣реИрдВред