有沒有辦法通過查詢或SQL Express 2005中的GUI來查找數據庫中的表之間的關係?ms sql - 在數據庫中查找關係表
其他然後手動查找表中匹配的主鍵/外鍵有沒有更簡單的方法來做到這一點?
有沒有辦法通過查詢或SQL Express 2005中的GUI來查找數據庫中的表之間的關係?ms sql - 在數據庫中查找關係表
其他然後手動查找表中匹配的主鍵/外鍵有沒有更簡單的方法來做到這一點?
我相信你正在尋找的腳本來源於以下鏈接:
下面是腳本:
SELECT
K_Table = FK.TABLE_NAME,
FK_Column = CU.COLUMN_NAME,
PK_Table = PK.TABLE_NAME,
PK_Column = PT.COLUMN_NAME,
Constraint_Name = C.CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS C
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS FK ON C.CONSTRAINT_NAME = FK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS PK ON C.UNIQUE_CONSTRAINT_NAME = PK.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE CU ON C.CONSTRAINT_NAME = CU.CONSTRAINT_NAME
INNER JOIN (
SELECT i1.TABLE_NAME, i2.COLUMN_NAME
FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS i1
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE i2 ON i1.CONSTRAINT_NAME = i2.CONSTRAINT_NAME
WHERE i1.CONSTRAINT_TYPE = 'PRIMARY KEY'
) PT ON PT.TABLE_NAME = PK.TABLE_NAME
---- optional:
--ORDER BY 1,2,3,4
--WHERE PK.TABLE_NAME='something'WHERE FK.TABLE_NAME='something'
--WHERE PK.TABLE_NAME IN ('one_thing', 'another')
--WHERE FK.TABLE_NAME IN ('one_thing', 'another')
請注意,您可以在底部添加一些可選語句來限制或排序結果。輸出將列出包含外鍵,該字段的名稱,主鍵表和它所引用的字段以及給出約束的名稱的表。
在SSMS中右鍵單擊一個表並選擇設計。
有一個看起來像2或3個窗口的按鈕,它們之間有一條線,它顯示了該表的關係。
這將打開窗口的ForeignKey將顯示錶,它涉及到所有其他表之間的每個關係,它也將顯示哪些字段連接這些表。
顯示錶/視圖/ SP等,但不顯示行名稱。無論如何只要找到依賴於主表的行?或者這是不可能的? – tdjfdjdj
我不確定我是否理解,您是否想知道用戶與Users.AccountId = Account.Id上的帳戶綁定?或者你想知道用戶123是帳戶456的一部分? – taylonr