oracle10g 一个表里可添加的最大字段数

来源:互联网 发布:网络道德调查问卷 编辑:程序博客网 时间:2024/06/06 13:00

今天有同事问到,oracle的一个表里,最多可有多少个字段?

之前我从来没相关这个问题,指在乎一个表的容量和磁盘空间的问题。

为此在网上特意查了下,却得到不同的答案:1. 8i和9i都是1000个,包括隐藏字段(类属性),以前是254个。

    2. 没什么限制

由于这些答案我并不满意,则在自己的oracle 10g中做了个试验:

 

p_temp 存储过程 循环往temp_rect表里添加字段

 

----------------------------------------------------------------------------------------------------------------

 

 

create or replace procedure p_temp AS

v_exe_sql varchar2(2000);

 vnumber number;

 gnum number;

  begin

  begin

  gnum :=0;

  vnumber :=1;

  for vnumber in 1..1002 loop   

  gnum := gnum+1;

  begin

  v_exe_sql:='alter table temp_rect add column'||gnum||' number(1)';

  execute immediate v_exe_sql;   

  end;

  end loop;   

  end;

 

end p_temp;

 

 

----------------------------------------------------------------------------------------------------------------

 

运行p_temp

 

SQL>  exec p_temp;

 

begin p_temp; end;

 

ORA-01792: 表或视图中的最大列数为 1000

ORA-06512: 在 "AAA.p_temp", line 13

ORA-06512: 在 line 2

 

 

SQL> select count(*) from all_tab_columns  where owner='AAA' and table_name='temp_rect';

 

  COUNT(*)

----------

      1000

 

 

----------------------------------------------------------------------------------------------------------------

 

 

由此可确定oracle10g的 一个表里可添加的最大字段数为1000.