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).
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:
<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
的存储过程,并且该存储过程涉及 CUSTOMER
和 ORDERS
表,则查询结果将类似于以下内容:
<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 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!