本帖最后由 wangwenjie1314 于 2011-10-13 19:20:39 编辑

解决方案 »

  1.   


    楼主如何实现在表的中间插入一个字段的?Oracle 默认会添加到表的最后,如果想把列放到中间,可以周转一下,用现在的表做基表创建一张新表,然后对表rename。create table a select col1,col2,col3 from b.列的顺序自己指定。
      

  2.   

    楼上正解
    假如ttt表需要新增加一列 filed_newalter table ttt add cloumn filed_new varchar2(60);create table test1 
    (
      a,
      b,
      filed_new,
      c,
      d
    )
     as 
    select a,
           b,
           filed_new,
           c,
           d
     from ttt;drop table ttt;
    alter table test1 rename to ttt;
      

  3.   

    create table jimmy select empno,ename,deptno from emp;  这边提示错误 select 是怎么回事呢?
      

  4.   

    SQL> create table jimmy select empno,ename,deptno from emp;
     
    create table jimmy select empno,ename,deptno from emp
     
    ORA-00922: missing or invalid option
      

  5.   


    jimmy表与select empno,ename,deptno from emp;
    的字段对应不,字段的类型是否一致?
      

  6.   

     create table jimmy as select empno,ename,deptno from emp;
      

  7.   

    这正是Oacle性能好的原因所在,大型数据库仓储都选择用Oacle.
    因为已建立好的表,它所有字段的物理地址是无法改变的,所有你新建的字段只能在最后啦。
    你想改变的话,除非再重新建一张新表。字段在前在后没有什么关系的,只要前台程序能保证“添删改查”等操作没有问题就行了;前台程序查询时禁止使用select * from tb ,这样字段顺序改变了,你程序就会出错了,而且这样效率不高,要求将待显示的字段全部一个一个的列出来,不要偷懒