我有一個叫做users.SYS_C00381400
的約束。我如何找到那個約束是什麼?有沒有辦法查詢所有約束?Oracle找到約束條件
127
A
回答
195
select * from all_constraints
where owner = '<NAME>'
and constraint_name = 'SYS_C00381400'
/
像所有的數據字典視圖,這是一個USER_CONSTRAINTS查看,如果你只是要檢查你的當前架構和管理用戶DBA_CONSTRAINTS視圖。
約束名稱的構造指示系統生成的約束名稱。例如,如果我們在表聲明中指定NOT NULL。或者確實是主要或唯一的關鍵。例如:
SQL> create table t23 (id number not null primary key)
2/
Table created.
SQL> select constraint_name, constraint_type
2 from user_constraints
3 where table_name = 'T23'
4/
CONSTRAINT_NAME C
------------------------------ -
SYS_C00935190 C
SYS_C00935191 P
SQL>
'C'
檢查,'P'
爲主。
通常給關係約束一個明確的名字是一個好主意。例如,如果數據庫爲主鍵創建索引(如果該列尚未編入索引,它將執行索引),它將使用約束名稱o命名索引。您不希望數據庫充滿名爲SYS_C00935191
的索引。
大多數人不打擾命名NOT NULL約束。
19
爲了獲得更詳細的說明(表/列引用的表/列),你可以運行下面的查詢:
SELECT uc.constraint_name||CHR(10)
|| '('||ucc1.TABLE_NAME||'.'||ucc1.column_name||')' constraint_source
, 'REFERENCES'||CHR(10)
|| '('||ucc2.TABLE_NAME||'.'||ucc2.column_name||')' references_column
FROM user_constraints uc ,
user_cons_columns ucc1 ,
user_cons_columns ucc2
WHERE uc.constraint_name = ucc1.constraint_name
AND uc.r_constraint_name = ucc2.constraint_name
AND ucc1.POSITION = ucc2.POSITION -- Correction for multiple column primary keys.
AND uc.constraint_type = 'R'
AND uc.constraint_name = 'SYS_C00381400'
ORDER BY ucc1.TABLE_NAME ,
uc.constraint_name;
從here。
4
也許這可以幫助..
SELECT constraint_name, constraint_type, column_name
from user_constraints natural join user_cons_columns
where table_name = "my_table_name";
相關問題
- 1. 在oracle中找不到約束條件
- 2. Oracle約束:混合唯一性和檢查約束條件
- 3. 在Oracle中檢查約束條件
- 4. oracle db中的條件唯一約束
- 5. 在Oracle SQL中檢查約束條件
- 6. Oracle中的完整性約束條件
- 7. SQLServer2000約束條件
- 8. UITableViewCell約束條件
- 9. Oracle null約束
- 10. Oracle約束
- 11. 無法同時滿足約束條件 - 沒有約束到位
- 12. Symfony2約束條件\未找到電子郵件
- 13. Oracle檢查約束
- 14. oracle唯一約束
- 15. Oracle參照約束
- 16. Oracle檢查約束
- 17. Oracle約束檢查
- 18. 指定索引到約束條件
- 19. 找到一個滿足約束條件的數字
- 20. 在矩陣中找到符合特定約束條件的行?
- 21. SQL Server條件CHECK約束條件
- 22. 條件MYSQL的唯一約束條件
- 23. POSTGRESQL的約束條件
- 24. 更改約束條件
- 25. UILabel sizeToFit和約束條件
- 26. HABTM刪除約束條件
- 27. 覆蓋約束條件
- 28. Sybase - 默認約束條件
- 29. GLPK MathProg - 條件約束
- 30. 或QueryOver的約束條件
怎麼知道的約束?用戶.SYS_C00381400 – Vinay 2017-04-14 12:38:33
約束名稱顯示在錯誤消息中。 – 2017-04-18 15:18:49