欢迎投稿

今日深度:

Oracle数据库在指定字段后新增字段代码举例,

Oracle数据库在指定字段后新增字段代码举例,


记录一下数据库中为表增加字段,且在指定字段后新增;

mysql数据库的话比较简单通过一下sql语句即可实现:

-- 为表t在B字段后新增字段
alter table t add column fild varchar(20) nou null after B
-- 为表t新增字段并显示到第一位
alter table t add column fild varchar(20) nou null first

而Oracle数据库不支持上述语法,添加字段只能显示到最后一位,所以如果非要添加字段到指定字段后的话可以通过新建数据表并修改表明实现,如下面语句所示:

-- 首先为要新增字段的表A新增字段t
ALTER TABLE A ADD (t VARCHAR2(64));
--根据新增字段后的表A来创建表B,并根据A的查询控制字段显示位置
create table B as select a,b,e,c,d from A;
-- 删除掉原表A
drop table A;
-- 将新建的表B重命名为表A的名字
alter table B rename to A

附:Oracle表新增字段后修改字段顺序

工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段的位置。

1、原始方法:

--新建临时表以存储正确的顺序 
create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;
--删除表A_1 
drop table A_1;
--新建A_1并从A_2表中赋予其正确的顺序和值 
create table A_1 as select * from A_2; 
--删除临时表A_2 
drop table A_2;

这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。

2、利用系统数据库

[1] 首先,以sys用户的身份登录PL/SQL

[2] 查询出你要更改的表的ID,以我本地的数据为例,我要改'FINACE'用户下'INCOME'这张表。注:ORACLE中的表要用大写。

select object_id from all_objects where owner = 'FINACE' and object_name = 'INCOME' ;

[3] 根据id去查询该表中的字段以及字段序号

select obj#,col#,name from sys.col$ where obj#=73626; 

[4] 第二列便是字段的序号,就可以用update语句来任意调整字段的顺序了。

总结 

到此这篇关于Oracle数据库在指定字段后新增字段的文章就介绍到这了,更多相关Oracle指定字段新增字段内容请搜索PHP之友以前的文章或继续浏览下面的相关文章希望大家以后多多支持PHP之友!

您可能感兴趣的文章:
  • oracle使用sql语句增加字段示例(sql删除字段语句)
  • Oracle表字段的增删改、表的重命名及主键的增删改
  • oracle 创建字段自增长实现方式
  • ORACLE实现字段自增示例说明
  • Oracle对字段的增删改方法分享

www.htsjk.Com true http://www.htsjk.com/oracle/47590.html NewsArticle Oracle数据库在指定字段后新增字段代码举例, 记录一下数据库中为表增加字段,且在指定字段后新增; mysql数据库的话比较简单通过一下sql语句即可实现: -- 为表t在B字段后新增字段...
评论暂时关闭