189 8069 5689

oracle怎么改表 oracle怎么改表名

oracle怎么修改表中的数据类型

用alter语句进行修改。

创新互联公司是一家集网站建设,茌平企业网站建设,茌平品牌网站建设,网站定制,茌平网站建设报价,网络营销,网络优化,茌平网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

语法:

1

alter table 表名 modify 字段名 字段类型(字段长度);

说明:如果是date等没有长度的类型,字段长度部分可以省略。

如:目前test表属性如下

要将name列的字段类型改为date类型,可用如下语句:

1

alter table test modify name date;

此时可见name列的类型已经更新成功。

注意事项:

如果表中有数据尽量不要使用此语句,会造成数据丢失,应在备份的情况下进行修改。

如何修改Oracle数据库表的大小

Oracle数据库实际应用中,很多人可能会遇到这样的问题。处于性能或者其他方面的考虑,需要改变某个表或者是某个用户的所有表的表空间。通常的做法就是首先将表删除,然后重新建表,在新建表时将表空间指定到我们需要改变的表空间。cuug将为大家详细讲解如何修改Oracle数据库表的大小。

如果该用户已经保存了大量数据,这种办法就就显得不是很方便,因为有大量数据需要提前备份出来。下面介绍一种利用数据库的导出/导入功能来实现重新组织数据库表空间的方法。

下面是一个简单的例子,假定要将用户db_zgxt下的全部表从表空间A转换到表空间B,具体步骤(在Oracle 8.0.5 for NT环境)如下:

1、导出db_zgxt下的所有表(Dos控制台下)

EXP80 OWNER=db_zgxt FILE=Exp0326.DMP LOG=Exp0326.LOG

系统提示输入用户名和口令,回答完毕,系统就开始将db_zgxt下的所有表都导出到一个叫Exp0316.dmp的文件中。

2、删除db_zgxt下的所有表(在SQL/PLUS中)

可以采用批处理的方式删除掉db_zgxt下的所有表,生成批处理的语句如下:

select ’drop table ’||user_tables||’;’ from user_tables;

3、采用导入参数 INDEXFILE导入db_zgxt用户下的所有表(Dos控制台下)

IMP80 FULL=Y FILE=Exp0326.DMP INDEXFILE=db_zgxt.SQL LOG=Imp0326_1.LOG

系统提示输入用户名和口令,回答完毕,系统就开始将文件Exp0326.dmp导入到db_zgxt用户下。

其中,指定参数INDEXFILE后,系统就将创建表和索引的语句写到一个文件,这里是db_zgxt.sql中。该文件中包含了所有创建索引(CREATE INDEX)语句和创建表(CREATETABLE)语句,但是这里所有创建表的语句均加了注释标志。在任何文本编辑器中打开并编辑该文件,去掉所有创建表语句的注释标志,将所有的表空间名称由A替换为B,同时对所有的创建索引语句加上注释标志。这些工作作完以后,在SQL/PLUS中运行该脚本文件,这些表就被创建,其表空间由A变为B。

4、采用导入参数INDEXES=N 和IGNORE=Y将db_zgxt用户的表数据导入库中(Dos控制台下)

IMP80 FULL=Y INDEXES=N FILE=Exp0326.DMP IGNORE=Y LOG=Imp0326_2.LOG

其中,参数INDEXES=N是指将数据导入数据库中时不加索引。IGNORE=Y是指在导入数据过程中,忽略表已经存在(table already exists)的错误。这样Oralce就将数据和一些约束条件导入到第3步创建的表中。

5、创建索引

在文本编辑器中重新打开在第3步中创建的db_zgxt.sql脚本文件,这次,将所有创建表(CREATE TABLE)的语句加上注释标志,然后将所有的创建索引(CREATE INDEX)语句去掉注释标志。在SQL/PLUS中再次运行该脚本文件。

至此,已经成功的完成了将db_zgxt用户下的全部表从表空间A转换到表空间B的工作。

ORACLE如何修改表所在的表空间

可以通过alter方法,将一个表移动到另外一个表空间中:

sql: alter table spaceOne.tablename move tablespace spaceTwo;

解释:以上语句就是把tablename表从spaceOne移动到spaceTwo中。

备注一:

当前的用户必须对spaceTwo、spaceOne都有操作权限才可以。

备注二:

其实如果对两个表空间都有权限的话,可以通过

create spaceTwo.tablename as select * from spaceOne.tablename;

之后再删除spaceOne中tablename表的间接方式也能实现。

oracle数据库怎么修改表名

1.

spfile是参数文件。这个就相当于你数据库的一些配置的信息。scope=spfile,表明在数据库下次启动的

时候生效。如果不加,表示立刻生效,下次启动依然有效。但有些参数是不能在数据库运行的状态下修改的。

2.select...from...是标准的sql语句。也就是说,你select后面必须是表的列,from后面必须是表的名称(当然,视图函数什么的就不多讲了,讲了你听着也乱)。

system

不是表的名称,所以你的语句是无效的。

alter

system

set

open_links=12,这句话你要按照英语翻译过来。意思是将系统的open_links这个参数,设置成12!而不是将system这个表修改掉。你看这句话里根本没有table这个词,当然也就不能select。

你要用show

parameter

open就可以找到这个参数了。

你最好先去看看oracle基础知识的书


网站名称:oracle怎么改表 oracle怎么改表名
分享路径:http://jkwzsj.com/article/hgiogs.html

其他资讯