Pour interroger les tables impliquées dans la procédure stockée : Connectez-vous à la base de données. Interrogez la vue ALL_OBJECT_TABLES et filtrez les tables impliquées dans la procédure stockée (OBJECT_NAME correspond à la procédure stockée OBJECT_NAME, exclut les tables temporaires et le nom de la table ne contient pas $). Les résultats contiendront le nom de la procédure stockée (OBJECT_NAME) et le nom de la table impliquée (TABLE_NAME).
Oracle Interroger les tables impliquées dans la procédure stockée
Pour interroger les tables impliquées dans la procédure stockée, vous pouvez utiliser la vue dictionnaire de données d'Oracle. Ces vues contiennent des informations sur les objets de base de données Oracle.
Étapes :
<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>
Résultats :
Cette requête renverra des informations pour les colonnes suivantes :
OBJECT_NAME
: Le nom de la procédure stockée 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
: Le nom de la table impliquée dans la procédure stockée GET_CUSTOMER_DATA
et que la procédure stockée implique CUSTOMER
et ORDERS, les résultats de la requête ressembleront à ce qui suit : 🎜rrreee🎜🎜 Description : 🎜🎜🎜🎜 La vue ALL_OBJECT_TABLES
contient des informations de métadonnées sur toutes les tables de la base de données. 🎜🎜La vue ALL_OBJECTS
contient des informations de métadonnées sur tous les objets de la base de données, y compris les procédures stockées. 🎜🎜La colonne TABLE_NAME
peut contenir l'indicateur $
, qui indique que la table est une table temporaire utilisée en interne par Oracle. Ces tableaux doivent être exclus des résultats. 🎜🎜La colonne TEMPORARY
indique si la table est une table temporaire. Les tables temporaires sont supprimées après la fin de la session et doivent donc être exclues des résultats. 🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!