Maison >base de données >Oracle >Quelles sont les tables impliquées dans les procédures stockées de requête Oracle ?

Quelles sont les tables impliquées dans les procédures stockées de requête Oracle ?

下次还敢
下次还敢original
2024-04-19 05:36:51620parcourir

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).

Quelles sont les tables impliquées dans les procédures stockées de requête Oracle ?

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 :

  1. Connectez-vous à la base de données Oracle.
  2. Requête de la vue suivante :
<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 的存储过程,并且该存储过程涉及 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 : Le nom de la table impliquée dans la procédure stockée
🎜🎜🎜Exemple : 🎜🎜🎜S'il existe une procédure stockée nommé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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Où Oracle écrit-il le code ?Article suivant:Où Oracle écrit-il le code ?