常有一些特殊情況,需要在表中保留違反唯一約束的數據,一般先drop唯一約束與索引再insert into,這樣就需要在表中忽略已有重復值,重建唯一約束

---------------------------------------------------------------------------------------------------
1.創建非唯一索引
CREATE INDEX INDEX_NAME ON TABLE_NAME(XXX);
2.創建唯一約束(disable novalidate)
ALTER TABLE TABLE_NAME ADD CONSTRAINT XXX UNIQUE (XXX) DISABLE NOVALIDATE;
3.啟用唯一約束(enable novalidate)
ALTER TABLE TABLE_NAME ENABLE NOVALIDATE CONSTRAINT XXX ;
--------------------------------------------------------------------------------------------------
以下對約束的四種狀態說明
enable validate :無法輸入違反約束的行,而且表中所有行都要符合約束
enable novalidate :表中可以存在不合約束的狀態,,但對新加入數據必須符合約束條件.
disable novalidate :可以輸入任何數據,表中或已存在不符合約束條件的數據.
disable validate :不能對表進行插入/更新/刪除等操作,相當於對整個表的read only設定.
