Sto lavorando a uno sviluppo con oltre 700 tabelle. Devo vedere un elenco di tutte le tabelle correlate su una tabella specifica. Puoi consigliare un'app che sia in grado di fornire una cosa del genere.Ricerca di tutte le tabelle correlate su una tabella data
risposta
Se il database supporta il punto di vista degli schemi delle informazioni (più fare), allora si può eseguire questa query:
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
Questa volontà di output un elenco di tutti i vincoli referenziali (chiavi esterne), la sorgente (riferimento) tabella/colonna e tabella/colonna della chiave primaria (di riferimento).
Se volete vedere i riferimenti a un tavolo specifica, basta aggiungere:
WHERE ku.TABLE_NAME = 'SomeTable'
È possibile selezionare un singolo record e tutti i relativi record in questo modo in SQL Server? – codemonkeyliketab
@codemonkeyliketab che fa le domande importanti – Kristopher
A seconda del prodotto di database, si dovrebbe essere in grado di interrogare i INFORMATION_SCHEMA
viste in questo modo:
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 può fare un buon lavoro di reverse engineering uno schema db per una varietà di database (tramite ODBC) e fornisce un diagramma che è molto flessibile.
Parola di cautela: indipendentemente dal sistema in uso, non è necessario inserire tutti i 700 tavoli contemporaneamente. Prova a creare diversi diagrammi raggruppati e separati logicamente. Speriamo che ci saranno molti raggruppamenti di questo tipo in un database così grande.
Sfortunatamente questa fantastica funzionalità è stata eliminata nel 2013. Il 2010 è stata l'ultima versione. – jleach
Si può provare questo:
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';
semplice e la soluzione più semplice per ottenere le relative tabelle di data tabella utilizzando la procedura integrata.
exec sp_fkeys 'Your_PK_TABLE_NAME'
Risposta straordinaria ... – brijrajsinh
Sintassi non corretta vicino a "VAI". Dove sto andando storto qui? –
@ Marimba, si prega di rimuovere il Go; da dichiarazione ed esecuzione. –
- 1. Ricerca completa del testo di Postgres su più tabelle correlate
- 2. Elenco di tutte le tabelle con una relazione con una data tabella o vista
- 3. Tabelle di database, una tabella che fa riferimento a più tabelle non correlate
- 4. Inserimento SQL in tabelle correlate
- 5. ORMLite ripristina tutte le tabelle
- 6. Interroga due tabelle correlate (Join)
- 7. Psql elenca tutte le tabelle
- 8. Imposta IDENTITY_INSERT OFF per tutte le tabelle
- 9. Elenco di tutte le tabelle nel database
- 10. Modificare le regole di confronto di tutte le colonne di tutte le tabelle in SQL Server
- 11. Usa tablediff per confrontare tutte le tabelle
- 12. Datatables, come associare l'evento su tutte le righe della tabella
- 13. Oracle aggiorna manualmente le statistiche su tutte le tabelle
- 14. Progettazione database: tabelle Ricerca/Enum multiple o una tabella grande?
- 15. Come troncare tutte le tabelle utente?
- 16. Elenca tutte le tabelle MySQL ed esclude una specifica
- 17. Cosa c'è di meglio 1 catalogo full-text per tutte le tabelle o 1 per tabella?
- 18. Che cos'è una tabella di ricerca?
- 19. DbContext di EF contiene tutte le tabelle?
- 20. Come ottenere tutte le tabelle che hanno FK su un'altra tabella?
- 21. Tabelle di ricerca in OCaml
- 22. Alter tutte le tabelle nel database
- 23. elenco di tutte le tabelle nel database
- 24. Laravel: restituire i risultati da più tabelle correlate utilizzando l'eloquente
- 25. Rilevanza ricerca full text Mysql su più tabelle
- 26. Ottimizza ricerca full-text su più tabelle
- 27. Selezione di tutte le tabelle contenenti colonne specifiche
- 28. ActiveRecord - come ottenere tutte le colonne di tabelle unite
- 29. sql per unire due tabelle non correlate in un unico
- 30. Copia tutte le righe in un'altra tabella nell'archivio tabelle di Azure
Quale versione/marca di SQL? Se è di Microsoft, Management Studio può creare un diagramma ... –