gpt4 book ai didi

sql-server-2000 - 查询以获取 SQL Server 2000 中的所有外键约束

转载 作者:行者123 更新时间:2023-12-03 15:08:30 25 4
gpt4 key购买 nike

我需要查询 SQL Server 2000 以获取所有外键的列表。

特别是指向特定列的所有外键。

如何编写此查询?

最佳答案

select * from sysobjects
where xtype = 'F'

我希望这应该可以解决问题并与 SQL Server 2000 兼容!

如果您还需要 SQL Server 2000 中的表和列信息,那就有点复杂了;您需要加入 sysforeignkeyssyscolumns目录 View 如下:
select
so.name 'foreign key name',
OBJECT_NAME(parent_obj) 'table',
OBJECT_NAME(sf.fkeyid) 'referencing table',
sc1.name 'referencing column',
OBJECT_NAME(sf.rkeyid) 'referenced table',
sc2.name 'referenced column'
from sysobjects so
inner join sysforeignkeys sf on so.id = sf.constid
inner join syscolumns sc1 on sf.fkeyid = sc1.id and sf.fkey = sc1.colid
inner join syscolumns sc2 on sf.rkeyid = sc2.id and sf.fkey = sc2.colid
where so.xtype in ('F','PK')

如果您想利用 SQL Server 2000 中确实可用的 INFORMATION_SCHEMA View ,请使用以下查询:
SELECT
rc.CONSTRAINT_NAME,
rcu.TABLE_NAME 'Referencing Table',
rcu.COLUMN_NAME 'Referencing Column',
rcu1.TABLE_NAME 'Referenced Table',
rcu1.COLUMN_NAME 'Referenced Column'
FROM
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS rc
INNER JOIN
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE rcu
ON rc.CONSTRAINT_CATALOG = rcu.CONSTRAINT_CATALOG
AND rc.CONSTRAINT_NAME = rcu.CONSTRAINT_NAME
INNER JOIN
INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE rcu1
ON rc.UNIQUE_CONSTRAINT_CATALOG = rcu1.CONSTRAINT_CATALOG
AND rc.UNIQUE_CONSTRAINT_NAME = rcu1.CONSTRAINT_NAME

马克

关于sql-server-2000 - 查询以获取 SQL Server 2000 中的所有外键约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/831589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com