Wie finde ich die zugrunde liegende Spalte und Tabelle Namen für eine Oracle-Ansicht?
Diese klingt wie er sollte einfach zu tun, aber nicht so! Es gibt keine Oracle (meta-Daten) anzeigen, die ich finden kann, gibt die zugrunde liegende Spalte und Tabelle Namen für eine Oracle-view-Spalte. Die einzige Möglichkeit, die ich gefunden habe, es zu tun ist, um eine Analyse der view-source-SQL (was bei weitem nicht und die exakte Wissenschaft).
Nur um zu erklären, was ich will, betrachten Sie das folgende Beispiel ansehen, die ich erstellt im SCOTT-schema:
CREATE OR REPLACE VIEW EMP_DEP
(
EMPLOYEE_NAME,
DEPARTMENT_NAME
)
AS
SELECT
ENAME,
DNAME
FROM
emp a,
dept b
WHERE
a.deptno= b.deptno
/
Nun die Ansicht und Spalte name EMP_DEP.DEPARTMENT_NAME, würde ich mag, um die zugrunde liegende Tabelle und die Spalte name durch die Auffassung, die ABT.DNAME. Kennt jemand einen Weg, diese Informationen zu bekommen, die sich nicht um das Parsen der SQL-Ansicht?
InformationsquelleAutor VinceJS | 2010-06-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwendeten Tabellen erstellt, um die Ansicht kann ausgewählt werden mit der Abfrage:
Wenn die Anzeige von Spalten, die gleichen Spaltennamen der Tabelle, Spalte, dann versuchen Sie bitte die folgenden Abfrage:
InformationsquelleAutor TechDo
Da der requester auf der Suche nach einer Instanz von seinem Tisch, und nicht mit Bezug auf eine bestimmte Ansicht, die ich empfehlen würde:
InformationsquelleAutor Dan
Gibt es nicht eine Möglichkeit, weil in der definition jeder Spalte ist ein Ausdruck, nicht (im Allgemeinen) nur eine Spalte einer Tabelle. Zum Beispiel, Ihre Ansicht SQL könnte:
oder vielleicht
Was würden Sie erwarten, um zu sehen, für die "zugrunde liegende Spalten" in diesem Beispiel?
Es wäre schön, wenn einige Abhängigkeiten query zurückgeben würde emp.ename und Abt.dname, so dass es leichter zu identifizieren, wo Veränderungen in der zugrunde liegenden Tabelle/Spalte berühren würde, eine Ansicht/Prozedur/etc.... aber TOAD bietet eine Menge Informationen über die "durch" Registerkarte, so zumindest ist es leicht, manuell zu überprüfen.
InformationsquelleAutor Tony Andrews
Sql definiert die Ansicht kann gefunden werden in all_views
Dies ist der einzige Weg, um die zugrunde liegenden Tabellen und Spalten.
InformationsquelleAutor jim mcnamara
In Oracle 11g eingeführt finer-grained dependency tracking. Damit die Datenbank weiß, welche Spalten der Tabelle, eine Ansicht oder Paket Körper abhängt. Jedoch, scheinen Sie nicht zu haben, ausgesetzt, diese Daten in einer Ansicht. Aber kann es sein, die x$ - Tabellen mit der info.
InformationsquelleAutor APC
Den verknüpfte Verfahren kann eine Hilfe für die Identifizierung von Abhängigkeiten
Den DBA_DEPENDENCIES Ansicht wird Ihnen eine Liste der Tabellen, die eine Auffassung stützt sich auf:
InformationsquelleAutor Mark Baker