Sunday, June 2, 2013

is there any way to get all primary key and foreign key with below strucure of Database

Try the below:



SELECT
DISTINCT TABLENAME,CONSTRAINT_NAME,CONSTRAINT_TYPE,
COLUMNNAMES= REPLACE(
(
SELECT A.PRIMARYKEYCOLUMN AS [data()]
FROM (SELECT A.TABLE_NAME TABLENAME, A.CONSTRAINT_NAME, B.COLUMN_NAME PRIMARYKEYCOLUMN,
CONSTRAINT_TYPE, C.ORDINAL_POSITION
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS A
JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE B ON A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS C ON A.CONSTRAINT_NAME = C.CONSTRAINT_NAME
) A
WHERE A.TABLENAME = B.TABLENAME
AND A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
AND A.CONSTRAINT_TYPE = B.CONSTRAINT_TYPE
ORDER BY A.TABLENAME, A.ORDINAL_POSITION
FOR XML PATH ('') ), ' ', ',')
FROM (
SELECT
A.TABLE_NAME TABLENAME, A.CONSTRAINT_NAME, B.COLUMN_NAME,CONSTRAINT_TYPE,C.ORDINAL_POSITION
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS A
JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE B ON A.CONSTRAINT_NAME = B.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS C ON A.CONSTRAINT_NAME = C.CONSTRAINT_NAME
) B





Please use Marked as Answer if my post solved your problem and use Vote As Helpful if a post was useful.


No comments:

Post a Comment