激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - 如何確定Oracle數據庫表重復的記錄

如何確定Oracle數據庫表重復的記錄

2019-10-25 16:21Oracle教程網 Oracle

作為一個 Oracle 數據庫開發者或者DBA,在實際工作中經常會遇到這樣的問題:試圖對庫表中的某一列或幾列創建唯一索引時,系統提示ORA-01452:不能創建唯一索引,發現 重復記錄 。 下面我們以表code_ref為例來討論這個問題及其解決

作為一個Oracle數據庫開發者或者DBA,在實際工作中經常會遇到這樣的問題:試圖對庫表中的某一列或幾列創建唯一索引時,系統提示ORA-01452:不能創建唯一索引,發現重復記錄

下面我們以表code_ref為例來討論這個問題及其解決辦法。

ERROR位于第1行:

ORA-01452:無法CREATEUNIQUEINDEX;找到重復的關鍵字

Oracle系統提示不能對表code_ref創建一個唯一索引,因為系統發現表中存在重復的記錄。我們必須首先找到表中的重復記錄并刪除該記錄,才可以創建唯一索引。下面介紹三種不同的方法來確定庫表中重復的記錄。

一、自關聯查詢方法

Oracle系統中,對于所有的表都存在一個唯一的列,這就是rowid。對該列使用最大(max)或者最小(min)函數可以非常容易地確定重復的行。

二、GROUPBY/HAVING查詢方法

利用分組函數GROUPBY/HAVING也很容易確定重復的行。以需要創建唯一索引的列分組并統計每組的個數,很明顯如果組中記錄數超過1個就存在重復的行。

三、Exceptioninto子句

采用altertable命令中的Exceptioninto子句也可以確定出庫表中重復的記錄。這種方法稍微麻煩一些,為了使用“excepeioninto”子句,必須首先創建EXCEPTIONS表。創建該表的SQL腳本文件為utlexcpt.sql。對于NT系統和UNIX系統,Oracle存放該文件的位置稍有不同,在NT系統下,該腳本文件存放在ORACLE_HOME\Ora81\rdbms\admin目錄下;而對于UNIX系統,該腳本文件存放在$ORACLE_HOME/rdbms/admin目錄下。

ERROR位于第2行:

ORA-02299:無法驗證(SYSTEM.I_CODE_REF)-未找到重復關鍵字

下面將exceptions表和code_ref表通過rowid關聯起來即可得到表code_ref中重復的記錄。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 蜜桃视频在线播放 | 毛片免费在线播放 | 天天艹综合 | 成人爽a毛片免费啪啪红桃视频 | 久色伊人 | 日本高清在线免费 | 国产精品久久久久久久久粉嫩 | 西川av在线一区二区三区 | 国内精品久久久久久影视8 国产一区二区成人在线 | 精精国产xxxx视频在线播放7 | 成人在线观看一区二区三区 | 男女污视频在线观看 | 一级一级一级一级毛片 | 国产亚洲自拍一区 | 久久草在线观看视频 | 久久久久97国产精 | 毛片在线视频观看 | 久久羞羞视频 | 羞羞网站 | 欧美日韩一区二区综合 | av在线播放亚洲 | av电影在线观看网址 | 一区二区三区在线视频观看58 | 粉嫩粉嫩一区二区三区在线播放 | 美女在线观看视频一区二区 | 中午字幕无线码一区2020 | 久国产精品视频 | 免费人成在线观看网站 | 西川av在线一区二区三区 | 国产日韩精品欧美一区视频 | a集毛片| 欧美一级黄色片免费观看 | 欧美黄一区 | 国产伦久视频免费观看视频 | 免费久久久 | a一级黄| 欧美一区二区三区中文字幕 | aaaaaaa毛片 | 国产91av视频| 娇喘在线 | 国产免费久久久久 |