set unused column和檢視,約束,同義詞和索引的關係
當使用alter table set unused column語法之後,會對其相關聯的檢視,約束,同義詞和索引有什麼作用麼?
答案是:
檢視和同義詞會失效,其中同義詞再次引用即可重新編譯,但是檢視重新編譯會報錯;
約束和索引會被自動刪除。
實驗:
SQL> create table test as select * from dba_objects;
Table created.
SQL> create view testview as select * from test;
View created.
SQL> alter table test add constraint testc check(object_id<999999);
Table altered.
SQL> create index testidx on test(object_id);
Index created.
SQL> create synonym testsyn for test;
Synonym created.
SQL> select CONSTRAINT_NAME,status from user_constraints
2 where CONSTRAINT_NAME in ('TESTC');
CONSTRAINT_NAME STATUS
------------------------------ --------
TESTC ENABLED
SQL> select OBJECT_NAME,status from user_objects
2 where OBJECT_NAME in ('TESTVIEW','TESTIDX','TESTSYN');
OBJECT_NAME STATUS
------------------------------ -------
TESTIDX VALID
TESTSYN VALID
TESTVIEW VALID
SQL> alter table test set unused (object_id);
Table altered.
SQL> select CONSTRAINT_NAME,status from user_constraints
2 where CONSTRAINT_NAME in ('TESTC');
no rows selected
SQL> select OBJECT_NAME,status from user_objects
2 where OBJECT_NAME in ('TESTVIEW','TESTIDX','TESTSYN');
OBJECT_NAME STATUS
------------------------------ -------
TESTSYN INVALID
TESTVIEW INVALID
SQL> select count(*) from TESTSYN;
COUNT(*)
----------
10069
SQL> select count(*) from TESTVIEW;
select count(*) from TESTVIEW
*
ERROR at line 1:
ORA-04063: view "HAO.TESTVIEW" has errors
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15415488/viewspace-673249/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 很多人比較糾結的約束和索引的關係索引
- NULL和唯一約束UNIQUE的對應關係Null
- 《MySQL 基礎篇》八:約束和檢視MySql
- 物件、同義詞和公有同義詞順序選取物件
- 【原創】匯出所有物件(表、索引、檢視、同義詞)的建立指令碼物件索引指令碼
- MySQL中的 UNIQUE約束和UNIQUE索引MySql索引
- 資料庫物件、表空間、表、檢視、索引、同義詞序列等的字典資料庫物件索引
- oracle學習筆記(十四) 資料庫物件 索引 檢視 序列 同義詞Oracle筆記資料庫物件索引
- 中考常見同義詞和同義短語總結
- Unique約束,Primary Key約束與索引的關係學習與測試_20091213.doc索引
- 如何在MySQL後設資料庫裡檢視索引,約束,觸發器,儲存過程和事件的相關資訊MySql資料庫索引觸發器儲存過程事件
- Oracle中檢視無效的物件、約束、觸發器和索引(Helloblock寫作)Oracle物件觸發器索引BloC
- v$lock之alter table drop column與alter table set unused column區別系列五
- mysql建立索引和檢視MySql索引
- 檢視錶、檢視、索引、儲存過程和觸發器的定義的方法索引儲存過程觸發器
- 實驗:用檢視加同義詞實現資料安全
- Oracle set unused的用法Oracle
- 【Oracle】-【同義詞】-public與非public同義詞Oracle
- 資料庫——一些復健(主要是約束和索引相關練習)資料庫索引
- 【從零開始學習Oracle資料庫】(5)約束檢視與索引Oracle資料庫索引
- 【從零開始學習 MySql 資料庫】(5) 約束檢視與索引MySql資料庫索引
- 唯一性約束和唯一性索引的區別索引
- 支援向量機(SVM)的約束和無約束優化、理論和實現優化
- Oracle定義約束 外來鍵約束Oracle
- Oracle set unused的用法.sqlOracleSQL
- Oracle - 約束、索引等相關常用操作語句Oracle索引
- mysql啟動和關閉外來鍵約束MySql
- oracle 註釋和約束Oracle
- 檢測不再使用的索引–check-unused-keys索引
- 文件 檢視 框架視窗間的關係和訊息傳送規律 (轉)框架
- query rewrite和基於函式的索引有關係?函式索引
- SQL優化--多表連線和走索引的關係SQL優化索引
- oracle ocp 19c考題,科目082考試題(19)-set unused columnOracle
- oracle ocp 19c考題,科目082考試題(20)-set unused columnOracle
- rman中RETENTION POLICY和BACKUP OPTIMIZATION的制約關係!
- Oracle基礎 12 物件 objects 同義詞/序列/試圖/索引Oracle物件Object索引
- 【訓練】sql訓練、建立和管理表、約束、檢視及其他資料庫物件SQL資料庫物件
- SQLServer訪問Oracle(通過同義詞-檢視-資料字典)出現的問題SQLServerOracle