27,579
社区成员
发帖
与我相关
我的任务
分享
USE TEMPDB
GO
IF OBJECT_ID('TB_TEST') IS NOT NULL DROP TABLE TB_TEST
GO
CREATE TABLE TB_TEST(
TEST_ID INT PRIMARY KEY
,VAL VARCHAR(50)
)
GO
IF OBJECT_ID('FUN_MU_GET_PK') IS NOT NULL DROP FUNCTION FUN_MU_GET_PK
GO
CREATE FUNCTION FUN_MU_GET_PK(@TBNAME VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @PK VARCHAR(100)
SELECT @PK=T3.NAME
FROM SYS.INDEXES T1
INNER JOIN SYS.INDEX_COLUMNS T2 ON T1.OBJECT_ID=T2.OBJECT_ID AND T1.INDEX_ID=T2.INDEX_ID
AND T2.is_included_column=0 AND T1.is_primary_key=1
INNER JOIN SYS.COLUMNS T3 ON T2.OBJECT_ID=T3.OBJECT_ID AND T2.COLUMN_ID=T3.COLUMN_ID
WHERE T1.OBJECT_ID=OBJECT_ID(@TBNAME)
RETURN @PK
END
GO
SELECT DBO.FUN_MU_GET_PK('TB_TEST')
--TEST_ID