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

 更新时间:2023年09月15日 10:49:46   作者:alutimo  
很多时候数据库中已有表的字段与需求业务所需字段有差异,需要增加一个或多个字段,这篇文章主要给大家介绍了关于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指定字段新增字段内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle实现分页查询的SQL语法汇总

    Oracle实现分页查询的SQL语法汇总

    这篇文章主要介绍了Oracle实现分页查询的SQL语法,非常实用的功能,需要的朋友可以参考下
    2014-08-08
  • 解决ORA-01747:user.table.column,table.column或列说明无效

    解决ORA-01747:user.table.column,table.column或列说明无效

    这篇文章主要介绍了解决ORA-01747:user.table.column,table.column或列说明无效的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Oracle Scott创建视图权限不足解决办法

    Oracle Scott创建视图权限不足解决办法

    大家安装了oracle数据库,按照oracle教程所说,使用scott用户登录,创建一个视图,有没有遇到错误提示:权限不足!,今天就告诉大家如何解决!
    2015-10-10
  • Oracle查看表空间使用率以及爆满解决方案详解

    Oracle查看表空间使用率以及爆满解决方案详解

    在日常的oralce使用中最长遇到的问题就是oralce的表空间满了,数据无法写入报错,下面这篇文章主要给大家介绍了关于Oracle查看表空间使用率以及爆满解决的相关资料,需要的朋友可以参考下
    2022-07-07
  • Oracle数据库ORA-28040:没有匹配的验证协议解决办法

    Oracle数据库ORA-28040:没有匹配的验证协议解决办法

    这篇文章主要给大家介绍了关于Oracle数据库ORA-28040:没有匹配的验证协议问题的解决办法,ORA-28040是Oracle数据库的错误代码,表示没有匹配的验证协议,这通常是由于客户端和服务器之间的身份验证协议不匹配导致的,需要的朋友可以参考下
    2024-03-03
  • oracle中使用group by优化distinct

    oracle中使用group by优化distinct

    这篇文章主要介绍了oracle中使用group by优化distinct的相关资料,需要的朋友可以参考下
    2015-11-11
  • Oracle数据库的系统结构

    Oracle数据库的系统结构

    这篇文章主要介绍了Oracle数据库的系统结构,Oracle数据库的存储结构(Storage Structure)分为物理存储结构和逻辑存储结构两种,分别描述了在操作系统中和数据库系统内部数据的组织管理方式,需要的朋友可以参考下
    2023-07-07
  • Oracle表分区详解

    Oracle表分区详解

    本文详细讲解了Oracle表分区的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • Oracle截取字符串去掉字段末尾指定长度的字符

    Oracle截取字符串去掉字段末尾指定长度的字符

    这篇文章主要介绍了Oracle截取字符串去掉字段末尾指定长度的字符 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • oracle 数据泵导入导出介绍

    oracle 数据泵导入导出介绍

    本文将介绍oracle数据泵导导出步骤详细介绍,需要的朋友可以参考下
    2012-12-12

最新评论