亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

列出Database所有Key列或者獲取表主鍵名稱

標簽:
SQL Server

SQL Server的视图INFORMATION_SCHEMA 中用INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE 和INFORMATION_SCHEMA.TABLE_CONSTRAINTS两个视图INNER JOIN在一起,可以列出需要的数据,下面Insus.NET把它写成一个自定义函数:

5acf072c0001405b00110016.jpgudf_KeyColumns CREATE FUNCTION [dbo].[udf_KeyColumns] 
(  
)
RETURNS TABLE
AS
RETURN 
(
    SELECT kcu.[TABLE_NAME],kcu.[COLUMN_NAME], kcu.[ORDINAL_POSITION],tc.[CONSTRAINT_TYPE]
    FROM information_schema.key_column_usage AS kcu
    INNER JOIN information_schema.table_constraints AS tc ON 
    (kcu.table_name = tc.table_name AND kcu.[constraint_name] = kcu.[constraint_name])
)

 

如果我们想获取某一个表的主键名称,可以写一个存储过程:

5acf072c0001405b00110016.jpgusp_PrimaryKey CREATE PROCEDURE [dbo].[usp_PrimaryKey] (  
    @TableName SYSNAME
)
AS
    DECLARE @ReturnValue NVARCHAR(MAX)
    SELECT @ReturnValue = [COLUMN_NAME] FROM [dbo].[udf_KeyColumns]() 
    WHERE [CONSTRAINT_TYPE] = 'PRIMARY KEY' AND [TABLE_NAME] = @TableName 
    SELECT  @ReturnValue

 

引用存储过程:

EXECUTE [dbo].[usp_PrimaryKey] 'Member'

 

参考相关:

SQL Server自定义函数(Scalar-valued Functions)

SQL Server自定义函数(Table-valued Functions)

 

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
移動開發工程師
手記
粉絲
24
獲贊與收藏
169

關注作者,訂閱最新文章

閱讀免費教程

  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消