一些不熟悉的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显示有关列的相关约束的一般信息。

 

转载于:https://www.cnblogs.com/ashleyboy/p/3666419.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值