解决数据库的索引乱码问题,先删除外键约束,再删除主键约束及其索引


根据Oracle的AWR、ADDM发现的一个SQL语句:
SQL语句:
select distinct m.*
  from ING_mmee_info m
 start with m.mmee_id in
            (select distinct m.mmee_id
               from ING_PERSON_EMPLOYEE   h,
                    ING_PERSON_ROLE       r,
                    ING_mmee_info        m,
                    ING_PERSON_ROLE_ASGMT hr,
                    ING_role_mmee        rm
              where h.employee_id = hr.EMPLOYEE_ID
                and hr.role_id = r.role_id
                and r.role_id = rm.role_id
                and rm.mmee_id = m.mmee_id
                and m.bsflag = '0'
                and h.employee_id = '89474644FEDE10A8E0430A15081210A8'
                and r.locked_if = '0'
                and sysdate between rm.start_date and
                    rm.start_date + rm.valid_dates
             union (select distinct m.mmee_id
                     from ING_PERSON_EMPLOYEE       h,
                          ING_PERSON_POSITION       p,
                          ING_PERSON_ROLE           r,
                          ING_mmee_info            m,
                          ING_PERSON_POSITION_ASGMT hp,
                          ING_POSITION_ROLE_ASGMT  pr,
                          ING_role_mmee            rm
                    where h.employee_id = hp.EMPLOYEE_ID
                      and hp.POSITION_ID = p.POSITION_CODE_ID
                      and p.POSITION_CODE_ID = pr.position_id
                      and pr.role_id = r.role_id
                      and r.role_id = rm.role_id
                      and rm.mmee_id = m.mmee_id
                      and h.employee_id = '89474644FEDE10A8E0430A15081210A8'
                      and p.locked_if = '0'
                      and r.locked_if = '0'
                      and m.bsflag = '0'
                      and sysdate between rm.start_date and
                          rm.start_date + rm.valid_dates)
             union (select distinct m.mmee_id
                     from ING_PERSON_EMPLOYEE h,
                          ING_PERSON_mmee     hm,
                          ING_mmee_info      m
                    where hm.mmee_id = m.mmee_id
                      and hm.employee_id = h.employee_id
                      and m.bsflag = '0'
                      and h.employee_id = '89474644FEDE10A8E0430A15081210A8'
                      and sysdate between hm.start_date and
                          hm.start_date + hm.valid_dates))
connect by prior m.upmmee_id = m.mmee_id
 order by m.mmee_order, m.mmee_id


在PLSQL Developer中查看该SQL的执行计划:

结果显示两个个乱码:
 

查看乱码索引的表:
select * from user_indexes t
where t.table_name in(
'ING_PERSON_EMPLOYEE',
'ING_PERSON_ROLE',
'ING_mmee_INFO',
'ING_PERSON_ROLE_ASGMT',
'ING_ROLE_mmee',
'ING_PERSON_POSITION',
'ING_PERSON_POSITION_ASGMT',
'ING_POSITION_ROLE_ASGMT'
)

 
根据查看结果,下面的2个表的主键索引存在乱码。
ING_PERSON_POSITION和ING_PERSON_POSITION_ASGMT 有乱码
这两个表的主键约束为中文字符,在迁移数据时很容易出现对应的索引乱码。


1、这个ING_PERSON_POSITION_ASGMT表的主键没有对应其他表的外键:
下面的方法解决:
删除主键及对应索引:
ALTER TABLE ING_PERSON_POSITION_ASGMT  drop  CONSTRAINT XPK人员岗位分配表 drop  index
创建主键:
ALTER TABLE  ING_PERSON_POSITION_ASGMT add  CONSTRAINT PK_POSITION_ASGMT_ID  PRIMARY KEY (POSITION_ASGMT_ID);

 

2、ING_PERSON_POSITION有其他表对应的外键。
--1 查找主键名所对应  其他表的外键:
select * from user_constraints t
where t.r_constraint_name='XPK岗位信息表'

对应的外键的表 ING_PERSON_POSITION_MAP ,外键约束名:  FK_ING_PERSON_POSITION_MAP2

--2 删除外键约束
alter table ING_PERSON_POSITION_MAP
  drop constraint FK_ING_PERSON_POSITION_MAP2
 
--3 删除主键及其索引
ALTER TABLE ING_PERSON_POSITION drop  CONSTRAINT XPK岗位信息表 drop index

--4 增加主键
ALTER TABLE  ING_PERSON_POSITION add  CONSTRAINT PK_POSITION_CODE_ID  PRIMARY KEY (POSITION_CODE_ID);

--5 增加外键
alter table ING_PERSON_POSITION_MAP
  add constraint FK_ING_PERSON_POSITION_MAP2 foreign key (DEVICE_REC_ID)
  references ING_PERSON_POSITION (POSITION_CODE_ID);

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-694789/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12778571/viewspace-694789/

LeGo-LOAM源码篇:源码分析(3) mapOptmization.cpp,主要内容包括回环检测、scan-to-map位姿优化、因子图。 阅读详情

相关推荐

Godot 2D游戏开发实战:用GDScript复刻10款经典小游戏(附完整源码)

本文是一份Godot 2D游戏开发实战指南,通过使用GDScript语言复刻10款经典小游戏,帮助开发者快速掌握引擎核心功能。内容涵盖从环境配置、GDScript基础到贪吃蛇、Flappy Bird、打砖块、俄罗斯方块等项目的核心逻辑与代码实现,并附有完整源码,旨在通过实践提升独立开发能力。

gold的博客 778

awt中文乱码-Intellij IDEA

解决方法:肉眼可见的编码设置统一为GBK……

https://github.com/amoorzheyu 808

STK相关总结

STK简介 一.SIM卡应用工具包(SIM Application Toolkit),又名CAT/USAT,它包含一系列终端与SIM卡的交互指令,SIM卡可以应用卡内的小应用程序和终端交互,从而实现增值服务的目的,STK包括三种类,STK-imsi切换,STK –OTA,STK-BIP 功能: (1) Profile download:配置下载,开机初始化SIM卡过程中,终端告诉SIM卡终端支持哪些功能,STK中download指终端将数据发送给SIM卡 (2) Proactive command: 主动式

jingjing_2的博客 3356

MySQL添加/删除主键、外键、唯一键、索引、自增

建表是添加外键create table tableName1( id int primary key, name varchar(128) default null, tableName2_id int not null, foreign key(tableName2_id) references tableName2(id) );单独添加外键alter table tableName1 add c

生而为人我很抱歉 5万+

单细胞专题(1) | 单细胞转录组研究样本准备指南(上)

单细胞RNA测序(scRNA-seq)是目前最前沿,能进行大规模实验的转录组研究技术,为理解细胞组成和动态生物学过程提供了很多新的见解。单细胞研究已经为我们理解发育过程,老化和疾病(如癌症)等提供了大量数据。在这里,小编主要就前期的样本准备与保存需注意问题给大家进行讲解,以备大家在不同的研究场景和研究背景下,走好单细胞转录组学研究的第一步。

bioyigene的博客 4229

C#菜鸟教程学习笔记

C#菜鸟教程学习笔记 C#简介 C# 是一种编程语言,它是由微软开发的。 C# 编程是基于 C 和 C++ 编程语言的,它与 Java 也非常相似。 C# 是 .Net 框架的一部分,且用于编写 .Net 应用程序。 .Net 框架(.Net Framework)能编写出下面类型的应用程序: ①Windows 应用程序 ②Web 应用程序 ③Web 服务 常用的C# 编程的开发工具:Visual Studio(VS:可视化工作室) C#程序结构 一个 C# 程序(C# 文件的后缀为 .cs)主要包括以下部分

mlc_WTMOTW的博客 4977

oracle删除乱码索引,解决Oracle11g中的索引名字乱码问题

有一个主键对应的索引变成了乱码。 如下:如果在SQLPLUS查询: SQLgt; select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS fr有一个主键对应的索引变成了乱码。如下:如果在SQLPLUS查询:SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_index...

weixin_29635919的博客 447

【AI赋能】Sora + CapCut 打造爆款短视频:从脚本到发布的自动化工作流

本文详细介绍了如何利用Sora、Grok和CapCut等AI工具构建自动化短视频生产工作流。通过结构化Prompt生成专业脚本,借助Sora将文字转化为高质量视频素材,并利用CapCut进行高效剪辑与合成,实现从创意到发布的十倍效率提升,助力个人及团队打造爆款内容。

g8f9d0s1a2的博客 494

awr报告的生成及常见问题

1. 生成awr报告 (一)使用在数据库主机上使用sqlplus链接数据库     (二)执行生成awr报告的数据库脚本awrrpt.sql(D:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN)   (三)根据提示信息输入我们要生成的文档类型这里有html和txt两个版本,我们选择html    

4262

ximalaya 新xm-sign逆向思路

本文主要介绍目标网站新xm-sign值的逆向思路。仅代表个人理解,如有其他建议可在评论区沟通。声明仅仅记录一下自己的学习方法,不作为其他参考、更不作为商业用途。如有侵犯请联系本人删除。

weixin_66580433的博客 2017

华为OD机试双机位C卷-AI面板识别(Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 AI面板识别,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解以及在线OJ模拟做题。华为OD机试 - AI面板识别。

qq_45776114的博客 1342

sqlplus 中文?好和awr中文问号

export NLS_LANG=AMERICAN_AMERICA.UTF8 export.UTF-8 ...

cnzh2014的博客 370

【100%通过率】华为od机试C卷【出差 / 员工派遣】C++ 实现

某公司部门需要派遣员工去国外做项目。现在,代号为 x 的国家和代号为 y 的国家分别需要 cntx 名和 cnty 名员工部门每个员工有一个员工号 (1,2,3,......),工号连续,从 1开始。部长派遣员工的规则:

MISAYAONE的博客 2193

mysql删除主键外键约束_解决数据库的索引乱码问题,先删除外键约束,再删除主键约束及其索引...

根据Oracle的AWR、ADDM发现的一个SQL语句:SQL语句:select distinct m.*from ING_mmee_info mstart with m.mmee_id in(select distinct m.mmee_idfrom ING_PERSON_EMPLOYEE h,ING_PERSON_ROLE r,ING_mmee_info m,IN...

weixin_42511832的博客 525

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

oracle删除乱码索引,解决Oracle 11g中的索引名字乱码问题

有一个主键对应的索引变成了乱码。如下:如果在SQLPLUS查询:SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_indexes where2 table_name='OO_OMS_USER';索引名居然有三行,并且为乱码:XP@#@r..解决:不能和主键及关联的索引一起删除,数据库识别不出来索引。ALTER...

weixin_35837856的博客 376

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

mysql引用外键_MYSQL外键(Foreign Key)的使用

MYSQL外键(Foreign Key)的使用在MySQL 3.23.44版本后,InnoDB引擎类型的表支持了外键约束。外键的使用条件:1.两个表必须是InnoDB表,MyISAM表暂时不支持外键(据说以后的版本有可能支持,但至少目前不支持);2.外键列必须建立了索引,MySQL4.1.2以后的版本在建立外键时会自动创建索引,但如果在较早的版本则需要显示建立;3.外键关系的两个表的列必须是数据类...

weixin_39552472的博客 1747

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

MySQL中的约束,添加约束,删除约束,以及一些其他修饰

创建数据库: CREATE DATABASES 数据库名; 选择数据库: USE 数据库名; 删除数据库: DROP DATAVBASE 数据库名; 创建表: CREATE TABLE IF NOT NULL EXISTS 表名 (字段1 数据类型 【字段属性|约束|索引|注释】, .............); 字段的约束及属性 CREATE TABLE IF NOT...

Explorer2017的博客 639

oracle中索引名字,解决Oracle11g中的索引名字乱码问题

有一个主键对应的索引变成了乱码。如下:如果在SQLPLUS查询:SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_indexes where2 table_name='OO_OMS_USER';索引名居然有三行,并且为乱码:XP@#@r..解决:不能和主键及关联的索引一起删除,数据库识别不出来索引。ALTER...

weixin_29955689的博客 425

mysql怎么添加默认约束_分享知识-快乐自己:MySQL中的约束,添加约束,删除约束,以及一些其他修饰...

创建数据库:CREATE DATABASES 数据库名;选择数据库:USE 数据库名;删除数据库:DROP DATAVBASE 数据库名;创建表:CREATE TABLE IF NOT NULL EXISTS 表名 (字段1 数据类型 【字段属性|约束|索引|注释】,.............);字段的约束及属性CREATE TABLE IF NOT NULL 表名(字段1 数据类型 PRIMAR...

weixin_39877898的博客 1096

MYSQL数据库专业术语及创建数据表详细讲解{sql语句创建数据库语句及条件子句解析,编码格式解析,创建数据表解析,表定义字段解析,主键约束解析}

MYSQL数据库专业术语及创建数据表详细讲解[新手版]{sql语句创建数据库语句及条件子句解析,编码格式解析,创建数据表解析,表定义字段解析,主键约束解析}

h1008685的博客 2296

MySQL约束条件全解析:从NOT NULL到外键的保姆级配置手册

本文深入解析MySQL数据库中的各类约束条件,从基础的NOT NULL、DEFAULT到核心的主键与外键约束,提供了详细的配置指南与最佳实践。文章结合Navicat图形化工具的操作演示,探讨了约束在保障数据完整性、维护表间关系以及性能权衡中的关键作用,并针对MySQL 8.0.16+的CHECK约束支持等高级话题进行剖析,是一份即学即用的高可靠性数据库设计手册。

weixin_29254673的博客 329

分享知识-快乐自己:MySQL中的约束,添加约束,删除约束,以及一些其他修饰

创建数据库: CREATE DATABASES 数据库名; 选择数据库: USE 数据库名; 删除数据库: DROP DATAVBASE 数据库名; 创建表: CREATE TABLE IF NOT NULL EXISTS 表名 (字段1 数据类型 【字段属性|约束|索引|注释】,.............); 字段的约束及属性 CREA...

andymmm0925的博客 150

mysql 语句怎样修饰约束_MySQL中的约束,添加约束,删除约束,以及一些其他修饰讲解...

(1)创建数据库CREATE DATABASES 数据库名;(2)选择数据库USE 数据库名;(3)删除数据库DROP DATAVBASE 数据库名;(4)创建表CREATE TABLE IF NOT NULL EXISTS 表名(字段1 数据类型 【字段属性|约束|索引|注释】, ............. );(5)字段的约束及属性CREATE TABLE IF NOT NULL 表名(字段1...

weixin_39872624的博客 133

解决Oracle11g中的索引名字乱码问题

有一个主键对应的索引变成了乱码。如下:如果在SQLPLUS查询:SQL> select INDEX_NAME,INDEX_TYPE,TABLE_NAME,UNIQUENESS from user_indexes where...

css48419的博客 421

mysql3m定义_分享知识-快乐自己:MySQL中的约束,添加约束,删除约束,以及一些其他修饰...

创建数据库:CREATE DATABASES 数据库名;选择数据库:USE 数据库名;删除数据库:DROP DATAVBASE 数据库名;创建表:CREATE TABLE IF NOT NULL EXISTS 表名 (字段1 数据类型 【字段属性|约束|索引|注释】,.............);字段的约束及属性CREATE TABLE IF NOT NULL 表名(字段1 数据类型 PRIMAR...

weixin_35850669的博客 206

SQL外键实战指南:保障引用完整性与线上热修复

外键(Foreign Key)是关系型数据库实现引用完整性(Referential Integrity)的核心机制,其本质是在事务提交前由存储引擎强制校验子表记录是否指向真实存在的父表主键或唯一键。相比应用层模拟校验,原生外键可彻底规避竞态条件,确保高并发下的数据一致性。它通过隐式或显式索引支撑高效检查,在MySQL InnoDB、PostgreSQL等主流引擎中提供RESTRICT、CASCADE、SET NULL等行为策略,适用于订单与用户、分类父子关系、分片映射等典型场景。本文聚焦真实生产环境中的建表

weixin_33827590的博客 518
上一篇: 在Word中调整所有图片的固定大小
下一篇: ORA-02082: 回送数据库链接必须具有连接限定词
css48419
博客等级 码龄12年 5粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值