Whether you are create table or alter table plus a filling, the column is asequence of before and after,In oracle you can modify the sequence.
for example:
SQL>create table testcol(id number(3),
id2 int,
id1 int);
Table created.
SQL> select obj#,name from obj$ where name='TESTCOL';
OBJ# NAME
---------- ------------------------------
50705 TESTCOL
SQL> DESC TESTCOL;
Name Null? Type
--------------------------------------------------------------- --------
ID NUMBER(3)
ID2 NUMBER(38)
ID1 NUMBER(38)
SQL> desc col$;
Name Null? Type
------------------------------------------------------------------------ --------
OBJ# NOT NULL NUMBER
COL# NOT NULL NUMBER
SEGCOL# NOT NULL NUMBER
SEGCOLLENGTH NOT NULL NUMBER
OFFSET NOT NULL NUMBER
NAME NOT NULL VARCHAR2(30)
TYPE# NOT NULL NUMBER
LENGTH NOT NULL NUMBER
FIXEDSTORAGE NOT NULL NUMBER
PRECISION# NUMBER
SCALE NUMBER
NULL$ NOT NULL NUMBER
DEFLENGTH NUMBER
DEFAULT$ LONG
INTCOL# NOT NULL NUMBER
PROPERTY NOT NULL NUMBER
CHARSETID NUMBER
CHARSETFORM NUMBER
SPARE1 NUMBER
SPARE2 NUMBER
SPARE3 NUMBER
SPARE4 VARCHAR2(1000)
SPARE5 VARCHAR2(1000)
SPARE6 DATE
SQL> select obj#,col#,name from col$ where obj#=50705;
OBJ# COL# NAME
---------- ---------- ------------------------------
50705 1 ID
50705 2 ID2
50705 3 ID1
SQL> update col$ set col#=2 where obj#=50705 and name='ID1';
1 row updated.
SQL> update col$ set col#=3 where obj#=50705 and name='ID2';
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> select obj#,col#,name from col$ where obj#=50705;
OBJ# COL# NAME
---------- ---------- ------------------------------
50705 1 ID
50705 3 ID2
50705 2 ID1
SQL> desc testcol;
Name Null? Type
---------------------------------------------------- --------
ID NUMBER(3)
ID2 NUMBER(38)
ID1 NUMBER(38)
SQL> select * from testcol;
no rows selected
SQL> alter system flash shared_pool;
alter system flash shared_pool
*
ERROR at line 1:
ORA-02065: illegal option for ALTER SYSTEM
SQL> alter system flush shared_pool;
System altered.
SQL> select * from testcol;
no rows selected
SQL> desc testcol;
Name Null? Type
---------------------------------------------------- --------
ID NUMBER(3)
ID1 NUMBER(38)
ID2 NUMBER(38)
SQL> insert into testcol values(1,2,3);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from testcol;
ID ID1 ID2
---------- ---------- ----------
1 2 3
SQL>
for example:
SQL>create table testcol(id number(3),
id2 int,
id1 int);
Table created.
SQL> select obj#,name from obj$ where name='TESTCOL';
OBJ# NAME
---------- ------------------------------
50705 TESTCOL
SQL> DESC TESTCOL;
Name Null? Type
--------------------------------------------------------------- --------
ID NUMBER(3)
ID2 NUMBER(38)
ID1 NUMBER(38)
SQL> desc col$;
Name Null? Type
------------------------------------------------------------------------ --------
OBJ# NOT NULL NUMBER
COL# NOT NULL NUMBER
SEGCOL# NOT NULL NUMBER
SEGCOLLENGTH NOT NULL NUMBER
OFFSET NOT NULL NUMBER
NAME NOT NULL VARCHAR2(30)
TYPE# NOT NULL NUMBER
LENGTH NOT NULL NUMBER
FIXEDSTORAGE NOT NULL NUMBER
PRECISION# NUMBER
SCALE NUMBER
NULL$ NOT NULL NUMBER
DEFLENGTH NUMBER
DEFAULT$ LONG
INTCOL# NOT NULL NUMBER
PROPERTY NOT NULL NUMBER
CHARSETID NUMBER
CHARSETFORM NUMBER
SPARE1 NUMBER
SPARE2 NUMBER
SPARE3 NUMBER
SPARE4 VARCHAR2(1000)
SPARE5 VARCHAR2(1000)
SPARE6 DATE
SQL> select obj#,col#,name from col$ where obj#=50705;
OBJ# COL# NAME
---------- ---------- ------------------------------
50705 1 ID
50705 2 ID2
50705 3 ID1
SQL> update col$ set col#=2 where obj#=50705 and name='ID1';
1 row updated.
SQL> update col$ set col#=3 where obj#=50705 and name='ID2';
1 row updated.
SQL> COMMIT;
Commit complete.
SQL> select obj#,col#,name from col$ where obj#=50705;
OBJ# COL# NAME
---------- ---------- ------------------------------
50705 1 ID
50705 3 ID2
50705 2 ID1
SQL> desc testcol;
Name Null? Type
---------------------------------------------------- --------
ID NUMBER(3)
ID2 NUMBER(38)
ID1 NUMBER(38)
SQL> select * from testcol;
no rows selected
SQL> alter system flash shared_pool;
alter system flash shared_pool
*
ERROR at line 1:
ORA-02065: illegal option for ALTER SYSTEM
SQL> alter system flush shared_pool;
System altered.
SQL> select * from testcol;
no rows selected
SQL> desc testcol;
Name Null? Type
---------------------------------------------------- --------
ID NUMBER(3)
ID1 NUMBER(38)
ID2 NUMBER(38)
SQL> insert into testcol values(1,2,3);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from testcol;
ID ID1 ID2
---------- ---------- ----------
1 2 3
SQL>
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




