急,如何用sql语句 查询得到 某表的主键和主键对应的数据类型?
如题,在线等 问题点数:20、回复次数:5Top
1 楼vivianfdlpw()回复于 2005-08-03 17:48:56 得分 20
create table #
(
TABLE_QUALIFIER sysname,
TABLE_OWNER sysname,
TABLE_NAME sysname,
COLUMN_NAME sysname,
KEY_SEQ int,
PK_NAME sysname
)
insert # exec sp_pkeys h_info
select [主键名]=C.COLUMN_NAME,[类型]=B.name
from syscolumns A
join systypes B on A.xtype=B.xtype
join # C on A.name=C.COLUMN_NAME
where A.id=object_id('h_info')
--删除测试环境
drop table #
--结果
/*
主键名 类型
---------------- ---------
Bianhao varchar
(所影响的行数为 1 行)
*/
Top
2 楼vivianfdlpw()回复于 2005-08-03 17:50:30 得分 0
CSDN怎么了?发了十几次终于发上来了。。。。。。Top
3 楼Scarroot(每天一贴,把分用完.)回复于 2005-08-03 18:06:22 得分 0
晕.有些类型是自定义的..where 条件不够..Top
4 楼vivianfdlpw()回复于 2005-08-03 18:10:59 得分 0
just try~Top
5 楼Scarroot(每天一贴,把分用完.)回复于 2005-08-03 19:13:53 得分 0
create table #
(
TABLE_QUALIFIER sysname,
TABLE_OWNER sysname,
TABLE_NAME sysname,
COLUMN_NAME sysname,
KEY_SEQ int,
PK_NAME sysname
)
insert # exec sp_pkeys 'kk1
select [主键名]=C.COLUMN_NAME,[类型]=B.name
from syscolumns A
join systypes B on A.xusertype=B.xusertype
join # C on A.name=C.COLUMN_NAME
where A.id=object_id('kk1')
--删除测试环境
drop table #
可以了.用xusertype
谢谢大哥的指点.Top




