在有重複資料的列上新增unique constraints,大家正常的解決辦法就修改重複資料,但也可以
保留重複資料,使約束對以後的資料有限制,不過我們還可以用以下的方法來新增唯一約束.
sql> create table aa(num number(6),email varchar2(32));
表已建立。
sql> insert into aa values(1,'11');
已建立 1 行。
sql> insert into aa values(2,'11');
已建立 1 行。
sql> commit;
提交完成。
sql> alter table aa add constraint aa_un unique(email) ;
alter table aa add constraint aa_un unique(email)
*第 1 行出現錯誤:
ora-02299: 無法驗證 (perfstat.aa_un) - 找到重複關鍵字
sql> create index aa_inx on aa(email);
索引已建立。
sql> alter table aa add constraint aa_un unique(email) enable novalidate;
表已更改。
sql> commit;
提交完成。
sql> insert into aa values(1,'11');
insert into aa values(1,'11')
*第 1 行出現錯誤:
ora-00001: 違反唯一約束條件 (perfstat.aa_un)
sql>
----- end --------
oracle在已有重複資料的列上建立唯一約束
在有重複資料的列上新增unique constraints,大家正常的解決辦法就修改重複資料,但也可以 保留重複資料,使約束對以後的資料有限制,不過我們還可以用以下的方法來新增唯一約束.sql create table aa num number 6 email varchar2 32 表已建立。s...
Oracle刪除重複資料
在oracle中,有個隱藏了自動rowid,裡面給每條記錄乙個唯一的rowid,我們如果想保留最新的一條記錄,我們就可以利用這個字段,保留重複資料中rowid最大的一條記錄就可以了。下面是查詢重複資料的乙個例子 select a.rowid,a.from 表名 a where a.rowid sel...
ORACLE刪除重複資料
我們可能會出現這種情況,某個表原來設計不周全,導致表裡面的資料資料重複,那麼,如何對重複的資料進行刪除呢?重複的資料可能有這樣兩種情況,第一種時表中只有某些字段一樣,第二種是兩行記錄完全一樣。一 對於部分字段重複資料的刪除 先來談談如何查詢重複的資料吧。下面語句可以查詢出那些資料是重複的 selec...