獲得MSSQL表中的主鍵的方法(存儲(chǔ)過(guò)程)

字號(hào):

創(chuàng)建一個(gè)存儲(chǔ)過(guò)程,通過(guò)傳入的表名參數(shù),返回該表的主鍵。其存儲(chǔ)過(guò)程代碼如下:
    CREATE Proc pGetPkColumn
    (@tableName varchar(50))
    as
     /*
     Create By Peopleyl
     獲得所要導(dǎo)入數(shù)據(jù)表的自動(dòng)遞增列
     */
    declare @columnName varchar(500)
    set @columnName = ’’
    SELECT @columnName = @columnName +’,’+ c.Name
    FROM
     sysindexes i,
     sysindexkeys k,
     sysobjects o,
     syscolumns c,
     systypes d
    WHERE
     i.Name like ’pk_%’
     AND o.id=i.id
     AND o.xType=’U’
     AND i.id = k.id
     AND i.indid = k.indid
     AND i.id = o.id
     AND i.id = c.id
     AND k.colid = c.colid
     and i.indid > 0
     and i.indid < 255
     and (i.status & 64)=0
     and c.xtype = d.xtype
     and o.name = @tableName
    if charindex(’,’,@columnName) = 1
    select Stuff(@columnName,1,1,’’)
    else
    select @columnName