CREATE FUNCTION dbo.fGetPrimaryKeyList (@TableName sysname) RETURNS Table
AS RETURN
(
SELECT a.[name] as PriKey
FROM sys.syscolumns AS a RIGHT OUTER JOIN
(SELECT id, colid
FROM sys.sysindexkeys
WHERE id =
(SELECT id
FROM sys.sysindexes
WHERE [name] =
(SELECT [name]
FROM sys.objects
WHERE (type = 'PK') AND (parent_object_id = OBJECT_ID(@TableName))
)
)
) AS b ON a.id = b.id AND a.colid = b.colid
)