oracle中直接修改表列的名称和顺序
导入数据得时候,遇到一个问题,想把列名顺序改变一下。在网上搜索到这篇文章,没去试验。贴上来,以后有机会试验下。
(http://www.im80hou.com/html/oracle/2009/0710/712.html)
按照关系数据库的理论,行与列都是无序的,但在实际应用中有时需要确定列的顺序。但在Oracle中,一旦表定义好,再想修改列的顺序可不太容易
1.以internal用户名登录Oracle数据库,并创建一测试表。
SQL>CREATE TABLE SCOTT.TEST AS SELECT EMPNO,
ENAME from SCOTT.EMP;
SQL>DESC SCOTT.TEST
Name Type Nullable Default Comments
------- ------------ -------
EMPNO NUMBER(4) Y
ENAME VARCHAR2(10) Y
下面我们要把SCOTT.TEST表中EMPNO和ENAME两列调换顺序,并把ENAME列更名为EMP_NAME,EMPNO改为EMP_NO。
2.查询表中列的实际存储位置或表。
SQL>SET LONG 9999,由于TEXT列是LONG类型,只有“SET”之后才能完全显示。
SQL>SELECT TEXT from ALL_VIEWS WHERE VIEW_NAME = ‘USER_TAB_COLUMNS’;
数据字典视图USER_TAB_COLUMNS中存储有表列的定义信息,从该语句的查询结果可以看出,列定义信息是存储在表SYS.COL$中的,即如果修改表中列的定义,应该在SYS.COL$表中修改。
3.从数据字典视图ALL_OBJECTS中查找对象SCOTT.TEST对象ID。
SQL> SELECT * from ALL_OBJECTS WHERE OWNER =‘SCOTT’ AND OBJECT_NAME=‘TEST’;
4.根据SCOTT.TEST对象的ID,从SYS.COL$检索出表中列的定义信息。
SQL> SELECT OBJ#,COL#,NAME from SYS.COL$ WHERE OBJ# =13888;
OBJ# COL# NAME
---------- ---------- -------
13888 1 EMPNO
&n
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
概述
在oracle安装目录$HOME/network/admin下,,经常看到sqlnet.ora tnsnames.ora listener.ora这三个文件,除了tnsnames.ora,其他两个文件详细的用途很多人都不太了解。
sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数.
tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系 ......
The following are number examples for the to_char function.
to_char(1210.73, '9999.9')
would return '1210.7'
to_char(1210.73, '9,999.99')
would return '1,210.73'
to_char(1210.73, '$9,999.00')
would return '$1,210.73'
to_char(21, '000099')
would return '000021'
The following is a list ......
如果说Redo是用来保证在故障时事务可以被恢复,那么Undo则是用来保证事务可以被回退或者撤销。
在修改操作中,对于回退段的操作存在多处,在事务开始时,首先需要在回滚段表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,Oracle必须以此来保证事务是可以回退的。
如果用户提交了事务,Oracle会 ......
现象:
oracle启动监听,报告如下错误:
TNS-12547: TNS:lost contact
TNS-12560: TNS:protocol adapter error
TNS-00517: Lost contact
Linux Error: 32: Broken pipe
原因:
lisenter.log 文件太大了,Oracle无法对它进行操作了,导致listener无法正常启动。
listener.log 超过2G就会出问题
方法:
法1. 移除原$ ......