新增了1个字段, 要将该字段放在某些字段的前面, 只能重新生成一个表吗?

解决方案 »

  1.   


    将相关的字段按顺序排放一起, 日后查看表时会舒服点, select * 还是常用的, 每次select field1, field2, field3...的太麻烦了
      

  2.   


    可以的,你alter table的时候,加上前后字段显示顺序好了!
      

  3.   


    alter table add ...可以加字段顺序吗,  我没找到, 请问代码如何写?
      

  4.   

    是不是这样SQL> CREATE TABLE t(col1 number,col2 number);表已创建。SQL> INSERT INTO t VALUES(11,22);已创建 1 行。SQL> COMMIT;提交完成。SQL> SELECT * FROM t;      COL1       COL2
    ---------- ----------
            11         22SQL> SELECT object_name,object_id FROM all_objects WHERE owner='SYS' AND object_
    name='T';OBJECT_NAME                     OBJECT_ID
    ------------------------------ ----------
    T                                    9917SQL> SELECT obj#,col#,name FROM sys.col$ WHERE obj#=9917;      OBJ#       COL# NAME
    ---------- ---------- ------------------------------
          9917          1 COL1
          9917          2 COL2SQL> UPDATE sys.col$ SET col#=2 WHERE obj#=9917 AND name='COL1';已更新 1 行。SQL> UPDATE sys.col$ SET col#=1 WHERE obj#=9917 AND name='COL2';已更新 1 行。SQL> COMMIT;提交完成。--要重启数据库,操作才能生效SQL> SELECT * FROM t;      COL2       COL1
    ---------- ----------
            22         11SQL>
      

  5.   

    可以用在线重定义http://space.itpub.net/html/01/185801-1319.html
      

  6.   

    假设table tb1表的字段顺序为a,b,d,然后想添加一个字段c,而且让其顺序为a,b,c,d.
    1,alter table tb1 add c int;
    2,create 一个表,做为数据转存,create table tb2 as select * from tb1;
    3,drop table tb1.
    4, create table tb1 as select a,b,c,d from tb2;
    5,drop table tb2.
      

  7.   

    给你一个样例:create table temp as (select b,a,c from uu);
    drop table uu;
    create table uu as (select * from temp);
    drop table temp;
      

  8.   

    试试这样SQL> select object_id from all_objects where object_name='T1 ';-----表名OBJECT_ID
    ----------
    xxxxx
     SQL> select obj#,col#,name from sys.col$ where obj#=xxxxx;
    OBJ#   COL#   NAME
    ---------- ----------  --------------------------
    xxxxx    1        ID
    xxxxx    2        NAME SQL> update sys.col$ set name='NEW_ID' ,col#=3 where obj#=xxxxx and name='ID';
    1 row updated.
     SQL> update sys.col$ set name='MY_NAME',col#=1 where obj#=xxxxx and name='NAME';
    1 row updated.
     SQL> update sys.col$ set col#=2 where obj#=xxxxx and col#=3;
    1 row updated.
     SQL> commit;
    Commit complete--需要重启数据库
    SQL> shutdown immediate
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup
    ORACLE instance started