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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
710次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
639次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
551次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
502次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
497次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
492次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
473次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
421次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
373次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
363次阅读
2025-05-05 19:28:36
热门文章
移除DataGuard Standby配置导致Primary启动失败
2023-08-17 21347浏览
使用dblink产生的”SELECT /*+ FULL(P) +*/ * FROM XXXXX P ” 解析
2023-06-20 20908浏览
Troubleshooting 'ORA-28041: Authentication protocol internal error' change password 12c R2 DB
2020-04-08 13702浏览
浅谈ORACLE免费数据库Oracle Database XE (Express Edition) 版
2018-10-31 7679浏览
High wait event ‘row cache mutex’ in 12cR2、19c
2020-08-14 5607浏览