3
A
回答
2
下面的查詢或修改tehreof會做 - 在SQL Server 還可以提供目錄和架構信息
select tab1.TABLE_NAME from
INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS as ref inner join
INFORMATION_SCHEMA.TABLE_CONSTRAINTS as prim
on ref.UNIQUE_CONSTRAINT_NAME=prim.CONSTRAINT_NAME
and ref.UNIQUE_CONSTRAINT_CATALOG=prim.CONSTRAINT_CATALOG
and ref.UNIQUE_CONSTRAINT_SCHEMA=prim.CONSTRAINT_SCHEMA
--and prim.CONSTRAINT_TYPE in('PRIMARY KEY','UNIQUE')
inner join INFORMATION_SCHEMA.TABLE_CONSTRAINTS tab1 on
ref.CONSTRAINT_NAME=tab1.CONSTRAINT_NAME
and ref.CONSTRAINT_CATALOG=tab1.CONSTRAINT_CATALOG
and ref.CONSTRAINT_SCHEMA=tab1.CONSTRAINT_SCHEMA
where prim.TABLE_NAME='YourTablename'
0
看一看元數據:
SELECT * FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS
SELECT * FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE
SELECT * FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
SELECT * FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
0
SELECT DISTINCT
ParentSchema.name ParentSchema
,ParentTable.name ParentTable
,ChildSchema.name ChildSchema
,ChildTable.name ChildTable
FROM sys.foreign_keys Foreign_Keys
JOIN sys.objects ParentTable ON Foreign_Keys.parent_object_id = ParentTable.object_id
JOIN sys.schemas ParentSchema ON ParentTable.schema_id = ParentSchema.schema_id
JOIN sys.objects ChildTable ON Foreign_Keys.referenced_object_id = ChildTable.object_id
JOIN sys.schemas ChildSchema ON ChildTable.schema_id = ChildSchema.schema_id
WHERE ParentSchema.name = '??????'
AND ParentTable.name = '??????'
2
我前段時間有類似的問題。以下是我使用Sql Server SMO編寫的腳本:
public static string GetForeignKeyScript()
{
SqlConnection conn = new System.Data.SqlClient.SqlConnection("SOME_CONNECTION_STRING");
Server server = new Server(new ServerConnection(conn));
Database db = server.Databases["SOME_DATABASE"];
Table Roles = db.Tables["SOME_TABLE"];
var sb = new StringBuilder();
foreach (Table table in db.Tables)
foreach (ForeignKey fk in table.ForeignKeys)
foreach (string s in fk.Script())
sb.AppendLine(s);
return sb.ToString();
}
這將輸出一個包含用於創建外鍵的腳本的字符串。
編輯代碼以刪除相當特定於我的項目的內容(例如,我只對以某個字符串結尾的表感興趣)
相關問題
- 1. 查找所有具有外鍵的表
- 2. 如何在oracle中查找所有外鍵約束?
- 3. 如何從給定子鍵查找數組的所有父鍵?
- 4. 如何爲Django中的所有記錄執行反向外鍵查找?
- 5. 如何查找所有沒有自動增量的主鍵
- 6. PostgreSQL:如何索引所有外鍵?
- 7. 如何替換所有外鍵?
- 8. 查找關係的所有候選鍵
- 9. 如何查找哪些表在我的表上有外鍵?
- 10. django反向外鍵查找
- 11. Django反向查找外鍵
- 12. 查找外鍵列順序
- 13. Django推遲外鍵查找
- 14. 反向外鍵查找
- 15. 如何查找hadoop數據集中所有鍵的組合?
- 16. 如何使用jq查找某個鍵的所有路徑
- 17. SQL當外鍵2出現在第二個表中時,查找具有外鍵1的所有行
- 18. 在嵌套字典中查找鍵的所有鍵和鍵
- 19. 如何刪除主鍵除單鍵查詢外的所有索引
- 20. 如何查找表A的主鍵具有外鍵約束的表的列表?
- 21. 如何查找所有圖形卡? C#
- 22. 如何通過PHP查找所有URL?
- 23. 如何查找所有依賴dll
- 24. 如何查找所有auto_increment表
- 25. IMAP:如何查找所有草稿
- 26. 如何查找所有子進程?
- 27. 如何使用token_get_all查找所有T_INLINE_HTML?
- 28. 找到所有關鍵字
- 29. 從table1中查找table2中有零行的外鍵鏈接到的外鍵
- 30. 查找與Oracle SET約束所有的外鍵錯誤的遞延