Oracle Faq(如何在ORACLE中更改表的列名和顺序 )_php基础

如需转载,请注明出处!
用过ORACLE的人都知道,要想在ORACLE中更改表的列名和顺序可是一件很烦琐的事,下面给大家提供一种简单的方法。

SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1';

OBJECT_ID
----------
6067
SQL> select obj#,col#,name from sys.col$ where obj#=6067;

OBJ# COL#
---------- ----------
NAME
------------------------------------------------------------
6067 1
ID

6067 2
NAME

SQL> update sys.col$ set name='NEW_ID' ,col#=3 where obj#=6067 and name='ID';

1 row updated.

SQL> update sys.col$ set name='MY_NAME',col#=1 where obj#=6067 and name='NAME';

1 row updated.

SQL> update sys.col$ set col#=2 where obj#=6067 and col#=3;

1 row updated.

SQL> commit;

Commit complete.

SQL> select * from scott.t1;

ID NAME
---------- --------------------
3 cheng
2 yong
1 xin
2 gototop
1 topcio
2 yongxin
1 cyx

7 rows selected.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.

Total System Global Area 128159368 bytes
Fixed Size 732808 bytes
Variable Size 117440512 bytes
Database Buffers 8388608 bytes
Redo Buffers 1597440 bytes
Database mounted.
Database opened.
SQL> select * from scott.t1;

MY_NAME NEW_ID
-------------------- ----------
cheng 3
yong 2
xin 1
gototop 2
topcio 1
yongxin 2
cyx 1

7 rows selected.

到此为止我们已经把SCOTT.T1表中的列名和顺序都给该了,如果你只想改变顺序而不想改变列名,只需再进行UPDATE就可以了,之所以不能一次完成是因为SYS.COL$中COL#,NAME都是UNIQUE的。

这种方法虽然存在一定风险,但对于特别大的表效果是很明显的,而用一般的方法将需要更多的存储空间、回滚段和时间开销。 

时间: 2024-11-16 10:16:47

Oracle Faq(如何在ORACLE中更改表的列名和顺序 )_php基础的相关文章

Oracle Faq(如何在ORACLE中更改表的列名和顺序 )

oracle 如需转载,请注明出处!用过ORACLE的人都知道,要想在ORACLE中更改表的列名和顺序可是一件很烦琐的事,下面给大家提供一种简单的方法. SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1'; OBJECT_ID----------6067SQL> select obj#,col#,name from sys.col$ where obj#=6067; OBJ# COL#-

jta-我不知道如何在netbean中给表赋值!!求大神

问题描述 我不知道如何在netbean中给表赋值!!求大神 public void QueryAll() { SAXReader reader=new SAXReader(); String classPath=ClassLoader.getSystemResource("").getPath(); System.out.println(classPath); filename=classPath+"students.xml"; File file=new File

SQL Server中多表连接时驱动顺序对性能的影响

原文:SQL Server中多表连接时驱动顺序对性能的影响   本文出处:http://www.cnblogs.com/wy123/p/7106861.html (保留出处并非什么原创作品权利,本人拙作还远远达不到,仅仅是为了链接到原文,因为后续对可能存在的一些错误进行修正或补充,无他)   最近在SQL Server中多次遇到开发人员提交过来的有性能问题的SQL,其表面的原因是表之间去的驱动顺序造成的性能问题,具体表现在(已排除其他因素影响的情况下),存储过程偶发性的执行时间超出预期,甚至在调

sql语句查询数据库中的表名/列名/主键/自动增长值实例_MsSql

sql语句查询数据库中的表名/列名/主键/自动增长值 ----查询数据库中用户创建的表 ----jsj01 为数据库名 select name tablename from jsj01..sysobjects where type='U' and name not in ('dtproperties') --查询表里的字段信息 ---docs为表名 ---- select * from syscolumns where id = object_id('docs') ----查询数据库中所有类型

如何在 Ubuntu 中更改默认浏览器和 Email 客户端

Ubuntu 自带了一些已经预装的默认应用程序,包括非常流行的 Mozilla 火狐浏览器和 Thunderbird 的 e-mail 客户端. 尽管这两个应用都有它们自己的粉丝,但是没有一个应用能符合每个人的口味和需要.我们经常收到邮件或者推文,询问我们可以怎样在 Ubuntu 上更改默认浏览器或者设置处理邮件链接为不同的电子邮件客户端等. 我们在这里不仅讨论如何安装不同的软件,还包括如何给一个特定的文件,链接或者内容类型设置其系统处理应用. 在 Ubuntu 中更改默认应用程序,包括浏览器.

ThinkPHP中处理表单中的注意事项_php技巧

本文实例讲述了ThinkPHP中处理表单中的注意事项.分享给大家供大家参考.具体分析如下: ThinkPHP中在表单提交数据中,有以下问题需要加以注意: 1.直接通过url访问模块中的某一个方法,这样很不安全.可以使用下面来限制 复制代码 代码如下: $this->isPost();//判断是不是以post方式访问方法. 在3.1.3中使用常量 IS_POST 来判断. 2.处理错误方法: _404('提示错误','跳转[注意在开启调试模式下不会跳转]',''); 方法 halt(); 查询:

如何在PE中更改文件打开方式

  我们在PE中需要改变文件的显示图标或者并联打开程序时,会非常的麻烦,必须得一个一个进行更改.如果用下面的代码,将会非常方便你进行批量更改. 例如,将准备好的ICO图标文件,以这个音乐文件的后戳名进行重命名,如mp3.ico.wma.ico.wav.ico,然后将下面的代码存为.BAT文件,放到ICO图标文件的目录当中运行即可. set FILENAME=%%~nI echo REM 这个 REGTTP.CMD 是用来设置千千静听与其文档的关联,如果没有实现关联,可以手动运行这个批处理.>RE

如何在win8中更改键盘输入或键盘语言

您可以按照以下步骤更改键盘输入设置: 1. 从开始屏幕,打开"控制面板". 2. 单击"常规",然后在右窗格中单击"添加输入语言". 3. 在语言列表中,单击您想要选择的语言旁边的"选项".(如果列表中没有您想要的语言,请单击"添加语言",选择想要的语言,然后单击"添加到列表".) 4. 在这些语言选项中,单击"添加输入法". 5. 从选项列表中选择键盘布局,单击&q

如何在win8中更改键盘输入

您可以按照以下步骤更改键盘输入设置: 1. 从开始屏幕,打开"控制面板". 2. 单击"常规",然后在右窗格中单击"添加输入语言". 3. 在语言列表中,单击您想要选择的语言旁边的"选项".(如果列表中没有您想要的语言,请单击"添加语言",选择想要的语言,然后单击"添加到列表".) 4. 在这些语言选项中,单击"添加输入法". 5. 从选项列表中选择键盘布局,单击&q