一些不熟悉的SQL脚本--约束条件
1.根据表名查询主键的SQL语句
SELECT D.COLUMN_NAME AS COLNAME FROM USER_CONS_COLUMNS D, USER_CONSTRAINTS M WHERE M.CONSTRAINT_NAME = D.CONSTRAINT_NAME AND M.CONSTRAINT_TYPE = 'P' AND M.TABLE_NAME = UPPER('表名')
2.根据表名和所有者查询主键
ALL_CONS_COLUMNS ALL_CONSTRAINTS
SELECT D.COLUMN_NAME AS COLNAME FROM ALL_CONS_COLUMNS D, ALL_CONSTRAINTS M WHERE M.CONSTRAINT_NAME = D.CONSTRAINT_NAME AND M.CONSTRAINT_TYPE = 'P' AND D.OWNER = M.OWNER AND M.TABLE_NAME = UPPER('表名') AND D.OWNER = UPPER('数据库用户名')
3.查询某个表的约束条件
SELECT CONSTRAINT_NAME ,TABLE_NAME , R_OWNER, R_CONSTRAINT_NAME FROM ALL_CONSTRAINTS WHERE TABLE_NAME ='表名' AND OWNER='数据库用户名'
SQL运行结果:
其中:SYS_C0010815主键约束
打开设计表:
4.根据约束条件查询是哪个表
SELECT * FROM ALL_CONS_COLUMNS WHERE CONSTRAINT_NAME =UPPER('约束条件') --SYS_C0010815
SQL运行结果:
打开设计表:
5.根据约束条件查询出所有关联的表
SELECT * FROM ALL_CONS_COLUMNS WHERE COLUMN NAME='主键字段'
完整性约束
DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。
DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。