Sql 如何查找现有表的约束?
如何查找完整性约束(如主键)Sql 如何查找现有表的约束?,sql,oracle,constraints,referential-integrity,Sql,Oracle,Constraints,Referential Integrity,如何查找完整性约束(如主键) 对于现有表?我正在使用Oracle 10g。您需要查询数据字典,特别是“用户列”视图,以查看表列和相应的约束: SELECT * FROM user_cons_columns WHERE table_name = '<your table name in caps>'; 从用户列中选择*,其中表名=“”; 要查找表上的约束,请执行以下操作: select constraint_name, constraint_type from user_const
对于现有表?我正在使用Oracle 10g。您需要查询数据字典,特别是“用户列”视图,以查看表列和相应的约束:
SELECT * FROM user_cons_columns WHERE table_name = '<your table name in caps>';
从用户列中选择*,其中表名=“”;
要查找表上的约束,请执行以下操作:
select constraint_name, constraint_type
from user_constraints
where table_name = 'YOUR_TABLE'
如果需要在其他模式中查找表上的约束,则会有匹配的字典视图,即ALL_u和DBA_u
这四种约束类型是
- P主键
- U唯一
- R外键(参考)
- C检查
select constraint_name, constraint_type
from user_constraints
where table_name = 'YOUR_TABLE'
and c.constraint_type = 'P'
要查找外键中引用的表,请执行以下操作:
select c.constraint_name as foreign_key
, c.r_constraint_name as referenced_constraint
, p.table_name
from user_constraints c
join user_constraints p
on p.constraint_name = c.r_constraint_name
where c.table_name = 'YOUR_TABLE'
and c.constraint_type = 'R'
/
如果您试图查找有关数据模型的信息,请使用为该作业构建的工具