【问题标题】:how to identify in a query whether the table has a Primary key or not如何在查询中识别表是否有主键
【发布时间】:2013-06-18 00:06:46
【问题描述】:

是否可以编写一个查询来确定表是否有主键?

SELECT * FROM sysobjects WHERE id = OBJECT_ID('TRS') and xtype = PK

如果它没有主节点,那么它不会返回任何内容。

link 中,作者提到了使用Xtype,但它似乎是一个古老的术语。

【问题讨论】:

    标签: sybase sap-ase


    【解决方案1】:

    如果有主键,这会给你键和它的列名,否则什么都没有。

    SELECT sysobjects.name, syscolumns.name
    FROM
      sysobjects INNER JOIN 
      syscolumns ON syscolumns.id = sysobjects.id INNER JOIN
      syskeys ON syskeys.id = sysobjects.id
    WHERE 
      sysobjects.type = 'U' AND syskeys.type = 1
    

    【讨论】:

      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 2022-10-06
      • 2019-10-16
      • 2016-09-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多