一个数据库表 MeetingRoomApply 里面有 ApplyID,RoomID,BeginDate,EndDate,ApplyDate,AdminEmpID 这些字段,主键是:ApplyID 外键有:RoomID,AdminEmpID 我想找到外键:AdminEmpID 所在的表 怎么可以办到??
------解决方案--------------------
SYSFOREIGNKEY 系统表中有相关信息。
------解决方案--------------------
列名 列类型 列约束 表约束
foreign_table_id UNSIGNED INT NOT NULL 主键,外键引用 SYSTABLE.table_id。唯一索引
foreign_key_id SMALLINT NOT NULL 主键
primary_table_id UNSIGNED INT NOT NULL 外键引用 SYSTABLE.table_id
这种东西,参考一下手册中的说明就行了。另外通过这个表,你需要通过ID到其它表中得到表名。
------解决方案--------------------
declare @PkTableName as nvarchar(256)
declare @PkFieldName as nvarchar(256)
set @PkTableName='MeetingRoomApply '
set @PkFieldName='AdminEmpID'
select
[email protected],
[email protected],
'FkTable'=object_name(sysforeignkeys.fkeyid),
'FkField'=fkCol.[name]
from sysforeignkeys,syscolumns as fkCol,syscolumns as pkCol
where
sysforeignkeys.fkeyid=fkCol.[id]
and fkCol.colid=sysforeignkeys.fkey
and object_name(sysforeignkeys.rkeyid)[email protected]
and sysforeignkeys.rkey=pkCol.colid --列'Pkid'在表'Company'中的位置
and object_name(pkCol.[id])[email protected] and pkCol.[name][email protected]