Identification of a primary key/foreign key

Identification of a primary key/foreign key

Post by Jon Turne » Sat, 13 Dec 2003 17:49:42



what kind of query can I use to determine if a column participates as
a primary/foreign key in a table.

Many thanks and seasons greetings.

 
 
 

Identification of a primary key/foreign key

Post by Vishal Parka » Sat, 13 Dec 2003 18:14:33


Try:

--checking primary key

if exists
(SELECT b.TABLE_NAME, b.COLUMN_NAME
 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS a
  JOIN  INFORMATION_SCHEMA.KEY_COLUMN_USAGE b
 ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME
WHERE CONSTRAINT_TYPE = 'PRIMARY KEY'
and b.column_name = <column_name>
and b.table_name = < table_name>)
print 'primary key exists'

--checking foreign key
if exists
(SELECT b.TABLE_NAME, b.COLUMN_NAME
 FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS a
  JOIN  INFORMATION_SCHEMA.KEY_COLUMN_USAGE b
 ON a.CONSTRAINT_NAME = b.CONSTRAINT_NAME
WHERE CONSTRAINT_TYPE = 'FOREIGN KEY'
and b.column_name = <column_name>
and b.table_name = < table_name>)
print 'foreign key exists'

--
- Vishal