我们可以使用sybase中的名称来引用sysconstraints中的列吗?

时间:2013-04-05 12:11:34

标签: sybase liquibase

因为通过'name'属性访问的选项可以通过

  

系统对象

是一样的
  

sysconstraints中/ syscolumns中??

因为我没有给表或列或任何约束赋予id属性。

1 个答案:

答案 0 :(得分:1)

sysobjects 不包含任何列名。我不明白你的第一个陈述。 但是,如果您有表名并希望从表名和列名中显示 sysconstraints 表,则可以使用以下连接:

SELECT constrid
FROM sysconstraints sc
  JOIN sysobjects o ON o.id = sc.tableid
  JOIN syscolumns c ON c.colid = sc.colid AND c.id = o.id
WHERE o.name = 'tablename'
AND c.name = 'columnname'

sysconstraints 包含与 syscolumns.colid sysobjects.id匹配的 colid tableid