今 天下午工作中遇到的问题,我需要将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