我是靠谱客的博主 威武往事,这篇文章主要介绍数据库元数据数据字典查询_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_列出给定表的检查约束 内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部