2016-05-09 3 views
0

In meinem Projekt gibt es eine neue Anforderung, in der ich zwei neue Spalten zu der vorhandenen Tabelle hinzufügen muss.Auswirkung des Hinzufügens neuer Spalten zu bestehender Tabelle

Wie kann ich den Effekt des Hinzufügens von zwei neuen Spalten zu dieser Tabelle analysieren?

Bitte beachten Sie: Ich finde bereits alle Abhängigkeiten mit all_dependencies anzeigen und auch ich habe all_source verwendet, um einige weitere Informationen zu finden.

Könnten Sie mir bitte sagen, was der richtige Ansatz für dieses Projekt ist?

Edit1: Da diese Frage die negativen Punkte angezogen hat. Ich würde gerne nach Ihrem Vorschlag verbessern.

Antwort

2

Das Hinzufügen einer Spalte wirkt sich nicht auf view/triggers/procedures aus, wenn die Entwickler richtige Spaltennamen in ihnen verwendet haben. Aber wenn jemand select * from your_table in einem der view/procedure/triggers verwendet, dann könnten Sie in Schwierigkeiten geraten.

Sie sind bereits auf dem richtigen Weg. Überprüfen Sie einfach dba_source richtig. Sagen Sie Ihre Tabellennamen schema1.table1 ist, die in all_source eine Suche where upper(text) like '%TABLE1%'

auch verwenden, wenn es dblink in anderen Datenbanken zu Ihrer Datenbank sind, dann könnten Sie das auch müssen Acht geben.

+1

Für einen Blick wird dies ** nicht ** von Bedeutung sein. Ein 'select *' innerhalb einer 'create view' wird zu der Liste von Spalten erweitert, die zum Zeitpunkt der Erstellung der Ansicht gültig waren. Das '*' wird ** nicht ** in der View-Definition gespeichert –

+0

Danke für die Lösung. – Wolfgang

+0

@a_horse_with_no_name - Stimme dem zu. Aber wenn die gleiche Ansicht in proc/trigger als 'in xyz einfügen (col1, col2) verwendet wird, wählen Sie * from view' aus, dann könnte dieser bestimmte proc/trigger fehlschlagen. Also ist es besser, es auf 'view' Ebene zu lösen. – Utsav

Verwandte Themen