SQL Server 2000なんですか?2005以降ならば新しいシステムビューを見た方がいいですよ。
select
o.name,
c.name,
type_name(c.xusertype),
case when ik.colid is not null then 'PK' end
from sysobjects o
inner join syscolumns c on c.id=o.id
left outer join sysobjects pk on pk.parent_obj=o.id and pk.xtype='PK'
left outer join sysindexes ix on ix.name=pk.name
left outer join sysindexkeys ik
on ik.id=o.id and ik.indid=ix.indid and ik.colid=c.colid
where o.type='U'
一応新しい方でも書いておきます。
select
o.name,
c.name,
type_name(c.user_type_id),
case when ic.column_id is not null then 'PK' end
from sys.objects o
inner join sys.columns c on c.object_id=o.object_id
left outer join sys.indexes ix on ix.object_id=o.object_id and ix.is_primary_key=1
left outer join sys.index_columns ic
on ic.object_id=o.object_id and ic.index_id=ix.index_id and ic.column_id=c.column_id
where o.type='U'
質問者
お礼
>SQL Server 2000なんですか?
はい、残念な事に2000です。
なるほど、見ればわかりましたが、ハマってしまっってる人間には果てしなく遠い答えでした。
ありがとうございます。助かりました。
お礼
>SQL Server 2000なんですか? はい、残念な事に2000です。 なるほど、見ればわかりましたが、ハマってしまっってる人間には果てしなく遠い答えでした。 ありがとうございます。助かりました。