表不能调整字段顺序吗? 新增了1个字段, 要将该字段放在某些字段的前面, 只能重新生成一个表吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 将相关的字段按顺序排放一起, 日后查看表时会舒服点, select * 还是常用的, 每次select field1, field2, field3...的太麻烦了 可以的,你alter table的时候,加上前后字段显示顺序好了! alter table add ...可以加字段顺序吗, 我没找到, 请问代码如何写? 是不是这样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> 可以用在线重定义http://space.itpub.net/html/01/185801-1319.html 假设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. 给你一个样例:create table temp as (select b,a,c from uu);drop table uu;create table uu as (select * from temp);drop table temp; 试试这样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 IDxxxxx 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 immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started 循序渐进学习oracle 注册表中没有找不到nls_lang怎么修改客户端字符集 关于windows 2003下oracle 10g rac的安装问题 变量引用问题 困扰很久的一个问题,同一SQL语句不同环境就会出问题(换环境就要加上select * from (...)) 这句sql执行出错,为什么? 怎么得到一个结构有几个元素? 如何建立ORACLE8数据库 关于动态sql的问题(急) 名称已被一现有约束条件占用 VC++中内联函数不起作用? 求Oracle安装目录OCI下面的samples中的例子!!
将相关的字段按顺序排放一起, 日后查看表时会舒服点, select * 还是常用的, 每次select field1, field2, field3...的太麻烦了
可以的,你alter table的时候,加上前后字段显示顺序好了!
alter table add ...可以加字段顺序吗, 我没找到, 请问代码如何写?
---------- ----------
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>
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.
drop table uu;
create table uu as (select * from temp);
drop table temp;
----------
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