oralce如何调整表字段的顺序

上一篇 / 下一篇  2021-10-27 15:00:56 / 个人分类:数据库

测试过程中发现,如果主表和B表表字段的顺序不一致,会导致数据转储到B表时出现数据错位存储,因为需要调整数据转储涉及到的所有B表的字段顺序,使其与主表完全一致。

步骤1、执行如下语句
-- 调整B表字段的顺序与主表顺序一致,红色字体部分可修改
SELECT 'update sys.col$ set COL#='||aa.COL# ||' where obj#='''||BB.OBJ#||''' and NAME= '''||BB.NAME||''';' AS SQLYJ,
bb.*,aa.*  FROM
(select object_name,obj#,col#,name from sys.col$ col,all_objects obj
where obj.owner = 'NHIS_LB'  and col.obj#=obj.object_id
and obj.object_name ='CN_PRESCRIPTION'||'_B')bb,
(select object_name,obj#,col#,name from sys.col$ col,all_objects obj
where obj.owner = 'NHIS_LB'  and col.obj#=obj.object_id
and obj.object_name ='CN_PRESCRIPTION')aa
where BB.NAME=aa.NAME AND BB.COL#<>aa.COL#

步骤2、核对步骤1的sql是否正确,
步骤3、以管理员身份登录oracle数据库
    sqlplus system/密码@数据库IP:端口/实例名
    conn /as sysdba;
步骤4、复制步骤2的sql语句,粘贴到步骤3的窗口
步骤5、提交
    commit;
步骤6、如果提交后没有成功,可能需要重启服务
    shutdown immediate
    startup




TAG:

 

评分:0

我来说两句

Open Toolbar