SQL Server: Show all the PRIMARY KEYS for a TABLE

For SQL Server 2005 + 


DECLARE

     @tableName nvarchar(MAX)
SET

     @tableName = 'tableName' -- (1)


SELECT

      tc.TABLE_NAME,

      tc.CONSTRAINT_NAME,

      kcu.COLUMN_NAME,

      kcu.ORDINAL_POSITION

FROM

      INFORMATION_SCHEMA.TABLE_CONSTRAINTS tc

INNER JOIN

      INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu

      ON tc.CONSTRAINT_NAME = kcu.CONSTRAINT_NAME

WHERE

      tc.CONSTRAINT_TYPE = 'PRIMARY KEY'

      AND

      tc.TABLE_NAME = @tableName OR @tableName IS NULL

ORDER BY

      tc.TABLE_NAME,

      kcu.ORDINAL_POSITION

Notes:

  • Change line (1) to specify the table name. Removing this line will list PRIMARY KEYS for all TABLES.
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: