我正在開發超過700個表格。我需要查看給定表的所有相關表的列表。你能推薦一款能夠提供這種功能的應用嗎?查找給定表的所有相關表格
回答
如果你的數據庫支持的信息架構視圖(大多數人),那麼你可以運行此查詢:
SELECT
c.CONSTRAINT_NAME,
cu.TABLE_NAME AS ReferencingTable, cu.COLUMN_NAME AS ReferencingColumn,
ku.TABLE_NAME AS ReferencedTable, ku.COLUMN_NAME AS ReferencedColumn
FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS c
INNER JOIN INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE cu
ON cu.CONSTRAINT_NAME = c.CONSTRAINT_NAME
INNER JOIN INFORMATION_SCHEMA.KEY_COLUMN_USAGE ku
ON ku.CONSTRAINT_NAME = c.UNIQUE_CONSTRAINT_NAME
這將輸出的所有引用約束列表(外鍵),來源(參考)表/列和主鍵(引用)表/列。
如果你想看到一個特定表引用,只需添加:
WHERE ku.TABLE_NAME = 'SomeTable'
是否可以在sql server中以這種方式選擇單個記錄及其所有相關記錄? – codemonkeyliketab 2016-05-02 14:33:50
@codemonkeyliketab詢問重要問題 – Kristopher 2016-06-07 19:46:42
根據不同的數據庫產品,你應該能夠查詢INFORMATION_SCHEMA
意見,像這樣:
Select FK.TABLE_SCHEMA, FK.TABLE_NAME
From INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS As RC
Join INFORMATION_SCHEMA.TABLE_CONSTRAINTS As PK
On PK.CONSTRAINT_NAME = RC.UNIQUE_CONSTRAINT_NAME
Join INFORMATION_SCHEMA.TABLE_CONSTRAINTS As FK
On FK.CONSTRAINT_NAME = RC.CONSTRAINT_NAME
Where PK.TABLE_SCHEMA = 'dbo'
And PK.TABLE_NAME = '<target table name>'
MS Visio Pro可以很好地對各種數據庫(通過ODBC)進行數據庫模式的反向工程,並提供了非常靈活的圖表。
注意事項:不管你使用什麼系統,你都不想一次把所有700個表全部拉入。嘗試創建幾個邏輯分組的圖表。希望數據庫中會有很多這樣的分組。
不幸的是,這個令人敬畏的功能在2013年被拋棄。2010年是它的最後一個版本。 – jleach 2016-06-30 12:34:15
你可以試試這個:
SELECT *
FROM
KEY_COLUMN_USAGE
WHERE
REFERENCED_TABLE_NAME = 'your_table_name'
AND REFERENCED_COLUMN_NAME = 'your_column_id'
AND TABLE_SCHEMA = 'your_database_name';
簡單和最簡單的解決方案使用內置的過程,以獲得給定表的相關表。
exec sp_fkeys 'Your_PK_TABLE_NAME'
很好的答案... – brijrajsinh 2017-07-06 12:03:11
'GO'附近的語法不正確。我在哪裏錯了? – 2017-11-14 13:04:27
@Marimba,請刪除Go;從聲明和執行。 – 2017-11-15 04:40:46
- 1. 查找所有相關的表
- 2. ImportHTML查找所有表格和列表
- 3. 查找給定列中有數據的所有表
- 4. 查找與視圖相關的所有表
- 5. 查找所有與傳輸請求列表相關的對象
- 6. 查找公式,相關表
- 7. 相關表格,如何查找有缺失行的記錄
- 8. python查找列表中的給定節點的所有鄰居
- 9. 查找所有不相關的行
- 10. SQL - 查找所有相關的標籤?
- 11. 那裏有相關表格
- 12. 如何使用已定義的EDT查找所有表格?
- 13. 查找在特定日期更新的所有表格
- 14. SQL查找所有相關條目
- 15. 查找給定單詞中「域特定相關單詞」的列表
- 16. 查找給定包中的所有類
- 17. 在SQL Server中查找特定表所依賴的表格
- 18. 使用Linq查找表中使用方法語法在相關表中具有特定值的所有記錄
- 19. 查找到相關的表onclick事件
- 20. 查找鏈接表中的相關行
- 21. 查找相關的兩個表
- 22. 從給定的單元格中查找表格excel-vba
- 23. 查詢表格以查找給定文本的記錄
- 24. 查詢Mysql上的相關表格
- 25. 查找約束所屬的表格
- 26. 查看所有表格中所有表格中的所有條目/數據
- 27. 查找排在相關表格與最接近的日期
- 28. 如何在PostgreSQL的表格中查找相關過程
- 29. 貓鼬在給定的查詢列表中查找所有內容
- 30. 查找所有具有外鍵的表
SQL的哪個版本?如果是微軟的,Management Studio可以創建一個圖... – 2010-03-29 18:29:52