我是靠谱客的博主 威武往事,最近开发中收集的这篇文章主要介绍数据库元数据数据字典查询_7_列出给定表的检查约束                          列出给定表的检查约束,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

                          列出给定表的检查约束

需求描述

需求:查询出给定的表emp的检查约束(check)信息。

解决方法:通过各个数据库里提供的与检查约束(check)相关的数据字典进行查询。

注: 数据库数据集SQL脚本详见如下链接地址

员工表结构和数据初始化SQL脚本

SQL代码 

-- Sql Server:
-- 新增check约束以检查emp表的enmae字段长度不超过16
ALTER TABLE EMP DROP CONSTRAINT CK_Emp_Ename;
ALTER TABLE EMP ADD CONSTRAINT CK_Emp_Ename CHECK (LEN(ename)<16)

SELECT A.name AS CKConstraint_Name,
	B.name AS Table_Name,
	C.name AS CKConstraint_ColumnName,
	A.definition AS DF_Def,
	A.create_date AS Create_time,
	A.modify_date AS Modify_time
FROM sys.check_constraints A
JOIN sys.tables B
	ON A.parent_object_id = B.object_id
JOIN sys.columns C
	ON B.object_id = C.object_id AND A.parent_column_id = C.column_id

执行结果

-- Mysql:
ALTER TABLE EMP ADD CONSTRAINT CK_Emp_Ename CHECK (LEN(ename)<16)

-- 注;Mysql数据字典里没有存check约束,所以暂时无法查阅。

-- Oracle:

ALTER TABLE EMP ADD CONSTRAINT CK_Emp_Ename CHECK (LENGTH(ename)<15);

SELECT A.CONSTRAINT_NAME,A.TABLE_NAME,A.COLUMN_NAME,B.CONSTRAINT_TYPE
FROM USER_CONS_COLUMNS A, USER_CONSTRAINTS B
WHERE A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
  AND B.CONSTRAINT_TYPE IN('C') 
  AND A.TABLE_NAME = 'EMP'

 

最后

以上就是威武往事为你收集整理的数据库元数据数据字典查询_7_列出给定表的检查约束                          列出给定表的检查约束的全部内容,希望文章能够帮你解决数据库元数据数据字典查询_7_列出给定表的检查约束                          列出给定表的检查约束所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部