select * from user_cons_columns cu
select * from user_constraints
user_constraints是表約束的視圖,描述的是約束類型(constraint_type)是什麼,屬於哪些表(table_name),如果約束的類型爲R(外鍵)的話,那麼r_constraint_name字段存放的就是被引用主表中的主鍵約束名。
查詢user_constraints視圖將會得到所有約束的名稱,一旦知道了約束的名稱和類型就能通過user_cons_columns視圖獲取相關的列
user_cons_columns是表約束字段的視圖,說明表中的和約束相關的列參與了哪些約束。這些約束有主鍵約束,外鍵約束,索引約束.
兩者可以通過(owner,constraint_name,table_name)關聯
例:--根據表名查找主鍵列名
select cu.column_name into p_ColumnName from user_cons_columns cu, user_constraints au
where cu.constraint_name = au.constraint_name
and au.constraint_type = 'P' and au.table_name = CUR.TABLENAME;