如何用SQL获取一个表的主键的名字,谢谢,急急急
如何用SQL获取一个表的主键的名字,谢谢
如表名为:Customer
问题点数:100、回复次数:6Top
1 楼tangqijun199(撒旦.冲上了5角还差一个猩猩,继续努力……)回复于 2005-08-04 11:02:52 得分 10
sp_help 'Customer'Top
2 楼NOKIA_LIU(小黑)回复于 2005-08-04 11:07:35 得分 10
用 sp_helpindex TABLE就好了。。
用sp_help 'Customer' 查出来的好象是这个表的信息。。
Top
3 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-08-04 11:43:27 得分 30
select
d.name
from
sysindexes a,
sysobjects b,
sysindexkeys c,
syscolumns d
where
c.id = object_id('表名')
and
c.id = b.parent_obj
and
a.name = b.name
and
b.xtype='PK'
and
a.indid = 1
and
d.colid = c.colid
and
d.id = c.idTop
4 楼libin_ftsafe(子陌红尘:TS for Banking Card)回复于 2005-08-04 11:43:48 得分 20
select
d.name
from
sysindexes a,
sysobjects b,
sysindexkeys c,
syscolumns d
where
c.id = object_id('表名')
and
c.id = b.parent_obj
and
a.name = b.name
and
b.xtype='PK'
and
a.indid = 1
and
d.colid = c.colid
and
d.id = c.idTop
5 楼tangqijun199(撒旦.冲上了5角还差一个猩猩,继续努力……)回复于 2005-08-04 12:05:08 得分 10
create table #primary
(
a sysname,
b sysname,
c sysname,
d sysname,
e int,
f sysname
)
insert #primary exec sp_pkeys t_pcdmx
#primary中的d列就要楼主要的吧??Top
6 楼zjcxc(邹建)回复于 2005-08-04 12:36:40 得分 20
--得到主键字段名
1:
SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME<>'dtproperties'
2:
EXEC sp_pkeys @table_name='表名'
3:
select o.name as 表名,c.name as 字段名,k.colid as 字段序号,k.keyno as 索引顺序,t.name as 类型
from sysindexes i
join sysindexkeys k on i.id = k.id and i.indid = k.indid
join sysobjects o on i.id = o.id
join syscolumns c on i.id=c.id and k.colid = c.colid
join systypes t on c.xusertype=t.xusertype
where o.xtype = 'U'
and o.name='要查询的表名'
and exists(select 1 from sysobjects where xtype = 'PK' and parent_obj=i.id and name = i.name)
order by o.name,k.colid
Top




