我正在使用以下查询来获取数据库中单个表的所有约束的列表
sp_helpconstraint 'schema.tableName'
然后我正在提取" Check Constraints"从结果集中使用它。但是因为我必须每次为每个表运行上面的查询,所以这会使我的进程变慢。我想要的是一个查询,我可以在其中获得所有约束的列表及其定义,或者只获取数据库的所有表的Check of Constraints列表。因为这有助于加快我在Sybase ASE中的进程
答案 0 :(得分:1)
这也给出了表名:
select
object_name(constid) as "Constraint name",
object_name(sysconstraints.id) as"Table name" ,
[TEXT]
from sysconstraints join syscomments on syscomments.id =sysconstraints.constid
order by [Table name]
答案 1 :(得分:0)
检查以下
select object_name(tableid) as "table name",
object_name(constrid) as "constraint name",
col_name(tableid,sysconstraints.colid) as "column name",
text as "constraint text"
from sysconstraints,syscomments
where sysconstraints.status=128 and sysconstraints.constrid=syscomments.id
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36274.1572/html/tables/X20320.htm处的sysconstraints规范解释了status = 128,这意味着它是一个检查约束