概述
列出给定表的检查约束
需求描述
需求:查询出给定的表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_列出给定表的检查约束 列出给定表的检查约束所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复