是否有TSQL脚本允许我查看约束的内容。我发现了一个关于Oracle的问题,但我需要一个TSQL脚本。
How to see contents of Check Constraint on Oracle
我知道sys.check_constraints,但是,'definition'对所有对象都返回null。
Select * from sys.check_constraints
答案 0 :(得分:18)
另一种方式
用于检查约束
select definition,name
from sys.check_constraints
表示默认约束
select definition,name
from sys.default_constraints
还有另一种方式
SELECT object_definition(OBJECT_ID(CONSTRAINT_NAME)),*
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
where CONSTRAINT_TYPE <> 'PRIMARY KEY'
答案 1 :(得分:3)
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
答案 2 :(得分:2)
sys.default_constraints用于列的默认约束
sys.check_constraints用于列的检查约束
关键约束的sys.key_constraints(例如主键)
外键关系的sys.foreign_keys
sys.check_constraints 用于列的检查约束,对表的检查约束无效。例如:CONSTRAINT CK_NumeroUsadas_NumeroTotal CHECK (NumeroUsadas <= NumeroTotal AND NumeroTotal >= 0),
在约束内搜索文字:
1。)SELECT CONSTRAINT_NAME,CHECK_CLAUSE
FROM INFORMATION_SCHEMA.CHECK_CONSTRAINTS
WHERE CHECK_CLAUSE like '%NumeroTotal%' or CHECK_CLAUSE LIKE '%NumeroUsadas%'
2。)SELECT object_definition(OBJECT_ID(CONSTRAINT_NAME)),*
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE CONSTRAINT_TYPE = 'CHECK'
AND object_definition(OBJECT_ID(CONSTRAINT_NAME)) like '%NumeroTotal%'
or object_definition(OBJECT_ID(CONSTRAINT_NAME)) LIKE '%NumeroUsadas%'
答案 3 :(得分:1)