Skip to content

Instantly share code, notes, and snippets.

@mhinze
Created January 29, 2010 16:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mhinze/289840 to your computer and use it in GitHub Desktop.
Save mhinze/289840 to your computer and use it in GitHub Desktop.
select
so_pk.name as PrimaryKeyTable
, sc_pk.name as PrimaryKeyColumn
, so_fk.name as ForeignKeyTable
, sc_fk.name as ForeignKeyColumn
from
sysforeignkeys sfk
inner join sysobjects so on so.id = sfk.constid
inner join sysobjects so_pk on sfk.rkeyid = so_pk.id
inner join sysobjects so_fk on sfk.fkeyid = so_fk.id
inner join syscolumns sc_pk on so_pk.id = sc_pk.id and sfk.rkey = sc_pk.colid
inner join syscolumns sc_fk on so_fk.id = sc_fk.id and sfk.fkey = sc_fk.colid
inner join sysindexes si on si.id = so_pk.id
inner join sysobjects so_primarykey on so_primarykey.name = si.name and so_primarykey.xtype = 'PK'
where
-- add predicates like "so_pk.name = 'MyTable'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment