免费看欧美黑人毛片-免费看毛片网站-免费看毛片的网站-免费看久久-中文字幕日韩欧美-中文字幕日韩精品一区

您現在的位置:首頁 > IT認證 > oracle認證 >

Oracle開發技術:oracle存儲過程實現導出表結構


oracle存儲過程實現導出表結構

  要將數據庫中的表結構全部倒出來,有分區表和非分區表,涉及到的字段有number、data、timestamp、varchar2、char。所以只針對了這幾個字段的表的導出,如果表有其類型字段,則需要添加代碼。分區表都是以時間做分區的,所以導出來的分區表結構都是以時間分區的。只是根據了自己實際情況寫的,根據不同的情況要改寫!

  存儲過程帶一個參數,默認為Y,導出分區表的分區,如果指定其他值,如

  execu table_frame('N'),則只導出表結構。

  使用方法:

  1、要導出哪個用戶的所有表結構,就在該用戶下執行最下面的存儲過程。

  2、如下建立一個directory,同樣要在數據庫服務器D盤下建立一個名為‘結構’的文件夾。

  create or replace directory DIR_DUMP as 'd:/結構';

  3、執行存儲過程,生成的表結構代碼就在路徑d:/結構下的txt文件中。

  create or replace procedure table_frame(v_partition_status varchar2 default 'Y')

  is

  type column_type is table of user_tab_lumn_name%type;

  v_column column_type;

  type data_type is table of user_tab_columns.data_type%type;

  v_type data_type;

  type length_type is table of user_tab_columns.data_length%type;

  v_length length_type;

  type datapre_type is table of user_tab_columns.DATA_PRECISION%type;

  v_ldatapre datapre_type;

  type datasca_type is table of user_tab_columns.DATA_SCALE%type;

  v_dayasca datasca_type;

  v_str clob;  file_name UTL_FILE.file_type;

  v_tables varchar2(50);

  partition_status varchar2(3);

  partition_keywords varchar2(30);

  TYPE part_cursor is ref CURSOR;

  part_name part_cursor;

  partition_name user_tab_partitions.partition_name%type;

  high_value user_tab_partitions.high_value%type;

  begin

  file_name := UTL_FILE.FOPEN('DIR_DUMP','table.txt','w');

  --判斷是否需要分區

  partition_status := v_partition_status;

  --按表循環

  for j in (select table_name from user_tables group by table_name ) loop

  v_tables :=upper(j.table_name);

  v_str := 'create table '||v_tables||'(';

  UTL_FILE.PUT_LINE(file_name,v_str);

  --提取表的字段信息

  select column_name,data_type,data_length,DATA_PRECISION,DATA_SCALE

  bulk collect into v_column,v_type,v_length,v_ldatapre,v_dayasca

  from user_tab_columns where table_name=v_tables;

  --按字段循環

  for i in 1..v_unt loop

  if v_type(i)= 'DATE' or v_type(i) like 'TIMESTAMP%' then

  v_str :=v_column(i)||' '||v_type(i)||',';

  elsif v_type(i)= 'NUMBER' and v_ldatapre(i) is not null then

  v_str :=v_column(i)||' '||v_type(i)||'('||v_ldatapre(i)||','||v_dayasca(i)||'),';

  elsif v_type(i)= 'NUMBER' and v_ldatapre(i) is null then

  v_str :=v_column(i)||' '||v_type(i)||',';

  else

  v_str :=v_column(i)||' '||v_type(i)||'('||v_length(i)||'),';

  end if;

  if i=v_unt then

  v_str :=substr(v_str,1,length(v_str)-1);

  end if;

  UTL_FILE.PUT_LINE(file_name,v_str);

  end loop; --判斷是否添加分區

  if partition_status = 'Y' then

  SELECT nvl(max(column_name),'0') into partition_keywords FROM USER_PART_KEY_COLUMNS

  where object_type = 'TABLE' and name=v_tables;

  if partition_keywords != '0' then

  UTL_FILE.PUT_LINE(file_name,')partition by range ('||partition_keywords||')(');

  open part_name for select partition_name,high_value from user_tab_partitions

  where table_name = v_tables;

  v_str := null;

  loop

  fetch part_name into partition_name,high_value;

  if part_name%notfound then

  --去掉最后逗號

  v_str :=substr(v_str,1,length(v_str)-1);

  UTL_FILE.PUT_LINE(file_name,v_str);

  exit;

  end if;

  UTL_FILE.PUT_LINE(file_name,v_str);

  v_str :='partition '||partition_name||' values less than ('||high_value||'),';

  end loop;

  end if;

  end if;

  UTL_FILE.PUT_LINE(file_name,');');

  UTL_FILE.PUT_LINE(file_name,'-------------------------------------------------------------');

  end loop;

  UTL_FILE.fclose_all;

  end;

上一條:Oracle安裝配置:干凈徹底的卸載Oracle
下一條:下面沒有鏈接了

相關文章

無相關信息
更新時間2022-09-16 10:07:20【至頂部↑】
聯系我們 | 郵件: | 客服熱線電話:4008816886(QQ同號) | 

付款方式留言簿投訴中心網站糾錯二維碼手機版

電話:
付款方式   |   給我留言   |   我要糾錯   |   聯系我們




主站蜘蛛池模板: 最近2019中文字幕第一页视频| 《与凤行》演员表| 《如此婚姻》大结局| 林采薇| 漂亮孕妇突然肚子疼视频| 《牵牛花》阅读答案| 疯狂 电影| 米娅华希科沃斯卡| 竹内美宥| angelababy婚礼大作战| 骨妹| 相识在线观看| 电视剧热播剧大全| 女儿国的杰基| 死亡繁殖| 杜伶俐| 《假期》电影| 翟小兴| 北风那个吹在线观看免费完整版| 青春之放纵作文免费阅读| 电影《瞬间》| 中国最贵的10大香烟| 奇骏车友会| 女生宿舍在线观看| 阴道电影| 女孩们在线观看| 刘洋男演员| 1到100数字表图片| 金旭| 内蒙古电视台雷蒙| 心理健康《微笑的力量》ppt | 性欧洲高跟长靴靴交视频| 尤克里里谱| 亚洲怪谈| 青楼春凳打板子作文| 红灯区无删减| 一线钟情 电视剧| 预备党员季度思想汇报| 小姐资源| 黑势力| 转正意见评语|