如何获取SQL表列的约束
发布时间:2020-05-24 17:15:06 所属栏目:MsSql 来源:互联网
导读:我的表中有一个名为MealType(VARCHAR)的列,其中包含{“Veg”,“NonVeg”,“Vegan”}的CHECK约束 这将照顾插入. 我想显示这些选项供选择,但我无法弄清楚SQL查询以找出表中特定列的约束. 从第一眼看到MS SQL服务器中的系统表,我似乎需要使用MS SQL的API来获取信
|
我的表中有一个名为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) (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – 是否有完整的每个SQL Server版本的在线操作列
- MySQL5.7.18下载和安装过程图文详解
- sql – Oracle是否为Number数据类型存储尾随零?
- 流程控制语句【循环、条件】
- SQL Server SQL 导入导出Excel数据的语句
- data.table join with roll =“nearest”返回“搜索值”而不
- sql-server – SSIS Multicast – 在执行下一个fork之前等待
- sql-server – 如何使用过程保存byte []?
- sql-server – 批量加载CouchDB时遇到的问题
- sql – 有什么方法可以快速判断哪个数据库(如果有)附加到.m
