Domanda

Nel cercare di capire questo problema (che è ancora irrisolto e non ho ancora idea di cosa stia succedendo), mi chiedo se forse il problema è causato da un riferimento esterno alla tabella in questione.Ad esempio, un trigger, una vista o qualcosa del genere.

Esiste un modo semplice per trovare tutti i riferimenti a una determinata tabella del database?Incluse tutte le visualizzazioni, i trigger, i vincoli o qualsiasi altra cosa, preferibilmente dalla riga di comando e preferibilmente anche senza uno strumento di terze parti (stiamo utilizzando db2).

È stato utile?

Soluzione

Wow, non lo avrei mai pensato, ma sembra che ci sia...Il buon vecchio DB2.

Trovo che la visualizzazione dei documenti publib db2 sia molto utile tra l'altro:

http://publib.boulder.ibm.com/infocenter/db2luw/v8//index.jsp

Ho appena trovato la vista del catalogo "SYSCAT.TABDEP", che sembra contenere più o meno quello che hai chiesto.Sospetto che per tutto ciò che non è coperto lì dovrai esplorare il resto delle tabelle syscat che sono vaste.(Sfortunatamente non riesco a collegarti alla pagina esatta su SYSCAT.TABDEP stesso, la funzione di ricerca dovrebbe condurti ad essa abbastanza facilmente però).

La maggior parte dei database oggigiorno dispone di una serie di tabelle che contengono dati sul layout delle tabelle dello schema effettive, molto utili per questo genere di cose.

Altri suggerimenti

È possibile scrivere una query di ricerca nelle visualizzazioni dello schema delle informazioni (colonna di definizione) per trovare la tabella in tutte le visualizzazioni, i trigger, le procedure e così via.Tuttavia non sono sicuro di FK e indici.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top