Heim  >  Artikel  >  Datenbank  >  Welche Tabellen sind an gespeicherten Oracle-Abfrageprozeduren beteiligt?

Welche Tabellen sind an gespeicherten Oracle-Abfrageprozeduren beteiligt?

下次还敢
下次还敢Original
2024-04-19 05:36:51609Durchsuche

So fragen Sie die an der gespeicherten Prozedur beteiligten Tabellen ab: Stellen Sie eine Verbindung zur Datenbank her. Fragen Sie die Ansicht ALL_OBJECT_TABLES ab und filtern Sie die an der gespeicherten Prozedur beteiligten Tabellen heraus (OBJECT_NAME entspricht der gespeicherten Prozedur OBJECT_NAME, schließen Sie temporäre Tabellen aus und der Tabellenname enthält kein $). Die Ergebnisse enthalten den Namen der gespeicherten Prozedur (OBJECT_NAME) und den Namen der beteiligten Tabelle (TABLE_NAME).

Welche Tabellen sind an gespeicherten Oracle-Abfrageprozeduren beteiligt?

Oracle Fragen Sie die an der gespeicherten Prozedur beteiligten Tabellen ab

Um die an der gespeicherten Prozedur beteiligten Tabellen abzufragen, können Sie die Datenwörterbuchansicht von Oracle verwenden. Diese Ansichten enthalten Informationen zu Oracle-Datenbankobjekten.

Schritte:

  1. Mit der Oracle-Datenbank verbinden.
  2. Fragen Sie die folgende Ansicht ab:
<code class="sql">SELECT
    *
FROM
    ALL_OBJECT_TABLES
WHERE
    OBJECT_NAME IN (
        SELECT
            OBJECT_NAME
        FROM
            ALL_OBJECTS
        WHERE
            OBJECT_TYPE = 'PROCEDURE'
            AND SCHEMA_NAME = 'YOUR_SCHEMA_NAME'
    )
    AND TABLE_NAME NOT LIKE '%$%'
    AND TEMPORARY = 'N'
ORDER BY
    OBJECT_NAME,
    TABLE_NAME;</code>

Ergebnisse:

Diese Abfrage gibt Informationen für die folgenden Spalten zurück:

  • OBJECT_NAME: Der Name der gespeicherten Prozedur OBJECT_NAME:存储过程的名称
  • TABLE_NAME:存储过程涉及的表的名称

示例:

如果有一个名为 GET_CUSTOMER_DATA 的存储过程,并且该存储过程涉及 CUSTOMERORDERS 表,则查询结果将类似于以下内容:

<code class="sql">OBJECT_NAME  TABLE_NAME
GET_CUSTOMER_DATA  CUSTOMER
GET_CUSTOMER_DATA  ORDERS</code>

说明:

  • ALL_OBJECT_TABLES 视图包含有关数据库中所有表的元数据信息。
  • ALL_OBJECTS 视图包含有关数据库中所有对象(包括存储过程)的元数据信息。
  • TABLE_NAME 列可能会包含 $ 标志,这表示表是 Oracle 内部使用的临时表。这些表应从结果中排除。
  • TEMPORARY
  • TABLE_NAME: Der Name der Tabelle, die an der gespeicherten Prozedur beteiligt ist
🎜🎜🎜Beispiel: 🎜🎜🎜Wenn es eine gespeicherte Prozedur mit dem Namen GET_CUSTOMER_DATA gibt und die gespeicherte Prozedur CUSTOMER betrifft und ORDERS-Tabelle werden die Abfrageergebnisse wie folgt aussehen: 🎜rrreee🎜🎜 Beschreibung: 🎜🎜🎜🎜 Die ALL_OBJECT_TABLES-Ansicht enthält Metadateninformationen zu allen Tabellen in die Datenbank. 🎜🎜Die Ansicht ALL_OBJECTS enthält Metadateninformationen zu allen Objekten in der Datenbank, einschließlich gespeicherter Prozeduren. 🎜🎜Die Spalte TABLE_NAME kann das Flag $ enthalten, das angibt, dass es sich bei der Tabelle um eine temporäre Tabelle handelt, die intern von Oracle verwendet wird. Diese Tabellen sollten aus den Ergebnissen ausgeschlossen werden. 🎜🎜Die Spalte TEMPORARY gibt an, ob es sich bei der Tabelle um eine temporäre Tabelle handelt. Temporäre Tabellen werden nach Sitzungsende gelöscht und sollten daher aus den Ergebnissen ausgeschlossen werden. 🎜🎜

Das obige ist der detaillierte Inhalt vonWelche Tabellen sind an gespeicherten Oracle-Abfrageprozeduren beteiligt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wo schreibt Oracle Code?Nächster Artikel:Wo schreibt Oracle Code?