如何获取SQL表列的约束

前端之家收集整理的这篇文章主要介绍了如何获取SQL表列的约束前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的表中有一个名为MealType(VARCHAR)的列,其中包含{“Veg”,“NonVeg”,“Vegan”}的CHECK约束

这将照顾插入.

我想显示这些选项供选择,但我无法弄清楚SQL查询以找出表中特定列的约束.

从第一眼看到MS sql服务器中的系统表,我似乎需要使用MS sql的API来获取信息.我希望SQL查询本身能够得到它.

解决方法

查询显示表上的所有约束:
select chk.definition
from sys.check_constraints chk
inner join sys.columns col
    on chk.parent_object_id = col.object_id
inner join sys.tables st
    on chk.parent_object_id = st.object_id
where 
st.name = 'Tablename'
and col.column_id = chk.parent_column_id

可以用以下代码替换select语句:

select substring(chk.Definition,2,3),substring(chk.Definition,9,6),20,5)
原文链接:https://www.f2er.com/mssql/79333.html

猜你在找的MsSQL相关文章