首页 > 其他 > 详细

提取用户下的所有表的表结构

时间:2015-07-29 06:45:10      阅读:185      评论:0      收藏:0      [点我收藏+]

create table exp_table(table_name varchar2(50),name_type varchar2(1000));


create or replace procedure pro_exp_table as
declare
c1 is select b.column_name,a.table_name,b.column_id,b.data_type from user_tables a,user_tab_columns b where a.table_name=b.TABLE_NAME;
v_column_name varchar2(50);
v_column_type varchar2(30);

begin
update exp_table set name_type=null;
open c1;
loop
 fetch c1.column_name into v_column_name;
 fetch c1.column_type into v_column_type;
 fetch c1.table_name into v_table_name;
 update exp_table set name_type=name||‘ ‘||v_column_name||‘ ‘||v_column_type||‘ ,‘ where table_name=v_table_name;
end loop;
update exp_table t set name_type=substr(t.name_type,1,length(name_type)-1);
commit;
end pro_exp_table;


spool create.sql;
select ‘create table ‘||t.table_name||‘ (‘||t.name_type||‘ );‘ from exp_table t order by t.table_name;
spool off;

提取用户下的所有表的表结构

原文:http://askjoey.blog.51cto.com/7594056/1679286

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!