如何在PL/SQL中修改ORACLE的字段顺序

今 天下午工作中遇到的问题,我需要将A表中的数据放到它的备份表A_1中去,但A_1表中缺少两个字段,于是我就给它加上两个字段,但新加的字段会默认排在 在最后面,与表A中的字段顺序不一致,那么用insert into A_1 select * from A; 时就会出错。

当时用了一个笨方法,如下:

--新建临时表以存储正确的顺序

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;

=============

方法二:这种发放好像只有管理员才有修改的权限

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;

for update

时间: 2024-10-14 00:49:45

如何在PL/SQL中修改ORACLE的字段顺序的相关文章

PL/SQL中查询Oracle大数(17位以上)时显示科学计数法的解决方法

PL/SQL查询时,如果Number(17)以上的大数,会显示为科学计数法 解决方法: TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可. 原文地址:https://www.cnblogs.com/mingforyou/p/8342692.html

修改ORACLE的字段顺序

首先你要有一个pl/sql,其实没有也行,但是这数据库还是有一个可视化界面为好啊. 1.首先,以sys用户的身份登录PL/SQL 2.查询出你要更改的表的ID,以我本地的数据为例,我要改'FINACE'用户下'INCOME'这张表.注:ORACLE中的表要用大写. select object_id from all_objects where owner = 'SYSTEM' and object_name = 'JIEHUO1' ; 得到jiehuo1这张表的object_id,注意表名一定要

ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍

如果我是C罗 原文 ORACLE PL/SQL 中序列(sequence)的简易使用方法介绍 sequence在ORACLE中应用十分广泛,就是序列号的意思,会自动增加指定变数,如逐次增加1或者2或者其他. 1.创建序列 Create Sequence 你首先要有CREATE SEQUENCE或者CREATE ANY SEQUENCE 权限 CREATE SEQUENCE CUX_DEMO_SEQUENCEMINVALUE 1MAXVALUE 99999999999START WITH 1000

在PL/SQL中调用存储过程--oracle

在oracle10中写好了存储过程,代码如下: CREATE OR REPLACE Procedure Proc_Insert ( sName in varchar2, sAge in int, sExeTime in varchar2 ) is begin Insert into T_TEST(C_ID, C_NAME, C_AGE, C_INTIME, C_EXETIME) values(T_TEST_CID.nextval,sName,sAge, sysdate, to_date(sExe

ORACLE PL/SQL 实例精解之第三章 PL/SQL中的SQL

3.1 在PL/SQL中使用DML 在PL/SQL语块中,两种变量赋值a. := 初始化.b. select into语法,PL/SQL语块的声明部分被声明的变量,后期可以使用选择语句进行赋值. 3.1.1变量初始化时使用select into语法 select A INTO V_A INSERT INTO xxx(表)( XA)values (V_A) 3.1.2 在pl/sql语句块中使用DML a.使用oracle序列 CURR b.获取和递增序列值 CURRVAL 返回序列的当前值 NE

ORACLE 在 SQLPLUS 与 PL/SQL 中显示乱码的问题

Linux下SQLPlus中文乱码处理的方法 1.首先查询数据库字符集 SQL> select userenv('language') from dual; USERENV('LANGUAGE') ---------------------------------------------------- AMERICAN_AMERICA.AL32UTF8 SQL> exit 从上面得知数据库字符集为 AMERICAN_AMERICA.AL32UTF8 2.配置环境变量 echo 'export

Oracle用户lock,忘记密码,用客户端PL/SQL进行修改

网上很多修改的方法了,现在分享一个用PL/SQL客户端修改的方法,毕竟我们小白都爱点点. 登录高权限的用户system等.如图,找到User下,需要修改的用户. 右键需要修改的用户,选择"Edit". PL/SQL的右边出现下图,在1的位置填写新密码(修改密码),2位置去掉Acount locked的勾选(接触锁定),3位置点击apply运行一下.成功! 原文地址:https://www.cnblogs.com/daguozb/p/9901020.html

如何用PL/SQL Developer连接Oracle数据库

之前因为项目的原因需要使用Oracle数据库,由于时间有限没办法从基础开始学习,而且oracle操作的命令界面又太不友好,于是就找到了PL/SQL Developer这个很好用的软件来间接使用数据库. 下面简单介绍一下如何用这个软件连接Oracle数据库. 第一步 安装Oracle Database和PL/SQL Developer 这一步网上有很多的教程就不详细介绍.Oracle可以直接到官网去下载,在安装中注意几个问题就行: 1.一定要记住自己全局数据库名字和口令,这个在后面连接的时候很重要

解决PL/SQL Dev连接Oracle弹出空白提示框

第一次安装Oracle,装在虚拟机中,用PL/SQL Dev连接远程数据库的时候老是弹出空白提示框,网上找了很久,解决方法也很多,可是就是没法解决我这种情况的. 没办法,只能自己研究,经过大概一天时间吧,还是搞好了,写个总结. 出现这种问题,解决方法大概有这几种: 1.权限不够,导致弹出空吧提示框.(直接上链接) http://jingyan.baidu.com/article/066074d6760959c3c21cb0d6.html 就PL/SQL图标上点右键---属性---兼容性--管理员