-1

我正在从一系列已知表及其主键构建报告,例如:

BOOKS.bookid

AUTHORS.authorid

GENRE.genreid

我想做的是构建一个 t-sql 报告,它只显示表、主键和下一个可用的 PK,例如:

**tabl_name       prim_key        avail_key**

BOOKS             BOOKID          281

AUTHORS           AUTHORID        29

GENRE             GENREID         18

我已经通过使用 information_schema 获得了表名和它的 PK,但是以某种方式将它与实际表连接起来以导出它的下一个可用 PK 证明是难以捉摸的。我猜有某种带有游标解决方案的动态 sql,但这最大限度地提高了我的 sql 技能。

4

1 回答 1

0

尝试这个:

SELECT Col.TABLE_NAME, Col.Column_Name, ident_current(Col.TABLE_NAME) from 
    INFORMATION_SCHEMA.TABLE_CONSTRAINTS Tab, 
    INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE Col 
WHERE 
    Col.Constraint_Name = Tab.Constraint_Name
    AND Col.Table_Name = Tab.Table_Name
    AND Constraint_Type = 'PRIMARY KEY '

顺便说一句,以上大部分内容来自这个答案:

https://stackoverflow.com/a/96049/37613

于 2013-10-23T17:54:53.687 回答