SQL 2005 SMO - 查找引用表

Cos*_*nea 5 sql-server smo

我需要将一些主键从非群集更改为群集但我不能删除约束,因为它是从其他外键引用的.

如何在不绕过数据库中所有表的情况下找到引用父表中主键的表作为外部关系的一部分?我需要禁用那些约束,更改PK并重新启用.

更新:

  1. 我不想使用纯SQL来执行此操作,而只使用SMO.

  2. Marc,我知道关于ForeignKeys我需要类似:table.PrimaryKey.ForeignKeys(即哪些表引用我的表的主键)我只是想避免遍历数据库中的所有表并检查每一个上的ForeignKeys属性其中一个看他们是否有人参考我的桌子.(不可扩展)

Cos*_*nea 6

好吧我想我找到了.

table.Columns[0].EnumForeignKeys()
Run Code Online (Sandbox Code Playgroud)

或直接

table.EnumForeignKeys()

我期待一个属性而不是一个函数.我非常肯定它在幕后做了cmsjr建议的事情.