Rumah  >  Artikel  >  pangkalan data  >  Apakah jadual yang terlibat dalam prosedur tersimpan pertanyaan Oracle?

Apakah jadual yang terlibat dalam prosedur tersimpan pertanyaan Oracle?

下次还敢
下次还敢asal
2024-04-19 05:36:51573semak imbas

Untuk menanyakan jadual yang terlibat dalam prosedur tersimpan: Sambung ke pangkalan data. Tanya paparan ALL_OBJECT_TABLES dan tapis jadual yang terlibat dalam prosedur tersimpan (OBJECT_NAME sepadan dengan prosedur tersimpan OBJECT_NAME, kecualikan jadual sementara dan nama jadual tidak mengandungi $). Hasilnya akan mengandungi nama prosedur tersimpan (OBJECT_NAME) dan nama jadual yang terlibat (TABLE_NAME).

Apakah jadual yang terlibat dalam prosedur tersimpan pertanyaan Oracle?

Oracle Query jadual yang terlibat dalam prosedur tersimpan

Untuk menanyakan jadual yang terlibat dalam prosedur tersimpan, anda boleh menggunakan paparan kamus data Oracle. Pandangan ini mengandungi maklumat tentang objek pangkalan data Oracle.

Langkah:

  1. Sambung ke pangkalan data Oracle.
  2. Pertanyaan paparan berikut:
<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>

Keputusan:

Pertanyaan ini akan mengembalikan maklumat daripada lajur berikut:

  • NAMA_OBJEK: NamaOBJECT_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: Nama jadual yang terlibat dalam prosedur tersimpan
🎜🎜Contoh: 🎜🎜🎜Jika terdapat prosedur tersimpan bernama GET_CUSTOMER_DATA dan prosedur tersimpan melibatkan CUSTOMER Jadual dan ORDERS, hasil pertanyaan akan menyerupai yang berikut: 🎜rrreee🎜🎜 Penerangan: 🎜🎜🎜🎜 Paparan ALL_OBJECT_TABLES mengandungi maklumat metadata tentang semua jadual dalam pangkalan data. 🎜🎜Pandangan ALL_OBJECTS mengandungi maklumat metadata tentang semua objek dalam pangkalan data, termasuk prosedur tersimpan. 🎜🎜Lajur TABLE_NAME mungkin mengandungi bendera $, yang menunjukkan bahawa jadual ialah jadual sementara yang digunakan secara dalaman oleh Oracle. Jadual ini harus dikecualikan daripada keputusan. 🎜🎜Lajur SEMENTARA menunjukkan sama ada jadual adalah jadual sementara. Jadual sementara akan dipadamkan selepas sesi tamat dan oleh itu harus dikecualikan daripada keputusan. 🎜🎜

Atas ialah kandungan terperinci Apakah jadual yang terlibat dalam prosedur tersimpan pertanyaan Oracle?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Di manakah oracle menulis kod?Artikel seterusnya:Di manakah oracle menulis kod?