pertanyaan oracle semua data jadual

WBOY
WBOYasal
2023-05-20 11:09:3713122semak imbas

Dalam pangkalan data Oracle, menanyakan semua data jadual boleh dicapai dengan cara berikut.

  1. Gunakan jadual sistem untuk menanyakan semua nama jadual

Terdapat beberapa jadual sistem dalam pangkalan data Oracle yang boleh menanyakan semua nama jadual ini, anda boleh membuat pertanyaan lanjut semua nama jadual. Jadual sistem yang paling biasa digunakan ialah USER_TABLES, ALL_TABLES dan DBA_TABLES.

  • Soal semua nama jadual di bawah pengguna semasa

Anda boleh menggunakan jadual USER_TABLES untuk menanyakan semua nama jadual di bawah pengguna semasa, seperti ditunjukkan di bawah:

SELECT TABLE_NAME FROM USER_TABLES;

Pernyataan SQL ini akan menanyakan semua nama jadual di bawah pengguna semasa (pengguna log masuk).

  • Soal semua nama jadual untuk semua pengguna

Jika anda perlu menanyakan semua nama jadual untuk semua pengguna, anda perlu menggunakan jadual ALL_TABLES. Jadual ALL_TABLES mengandungi semua nama jadual untuk semua pengguna dalam pangkalan data, seperti yang ditunjukkan di bawah:

SELECT OWNER, TABLE_NAME FROM ALL_TABLES;

Pernyataan SQL ini akan menanyakan semua nama jadual untuk semua pengguna dan akan mengembalikan pengguna (PEMILIK) yang menjadi milik setiap jadual. .

  • Soal semua nama jadual dalam keseluruhan pangkalan data

Gunakan jadual DBA_TABLES untuk menanyakan semua nama jadual dalam keseluruhan pangkalan data Oracle, seperti ditunjukkan di bawah:

SELECT OWNER, TABLE_NAME FROM DBA_TABLES;

Nota: Menyoal jadual DBA_TABLES memerlukan keistimewaan pentadbir.

Melalui pertanyaan ini, anda boleh mendapatkan senarai nama semua jadual, dan kemudian anda boleh menggunakan pernyataan gelung untuk menanya data jadual satu demi satu.

  1. Gunakan pernyataan gelung untuk menanyakan semua data jadual

Cara lain untuk menanyakan semua data jadual ialah menggunakan pernyataan gelung untuk menanyakan data jadual satu demi satu. Anda boleh menggunakan mana-mana kaedah di atas untuk mendapatkan senarai nama semua jadual, dan kemudian gunakan pernyataan gelung untuk menanyakan data jadual satu demi satu Contoh adalah seperti berikut:

DECLARE
    v_table_name USER_TABLES.TABLE_NAME%TYPE;
BEGIN
    FOR c IN (SELECT TABLE_NAME FROM USER_TABLES)
    LOOP
        v_table_name := c.TABLE_NAME;
        EXECUTE IMMEDIATE 'SELECT * FROM ' || v_table_name;
    END LOOP;
END;

Kod ini akan menggunakan a pernyataan gelung kursor untuk mendapatkan semua jadual di bawah pengguna semasa satu demi satu nama jadual dan kemudian menggunakan SQL dinamik untuk menanyakan semua data dalam setiap jadual.

Ringkasan:

Dalam pangkalan data Oracle, anda boleh menanyakan semua nama jadual melalui jadual sistem, atau anda boleh menggunakan pernyataan gelung untuk menanyakan data setiap jadual satu demi satu. Kaedah mana yang hendak digunakan bergantung pada keadaan. Jika anda hanya perlu mendapatkan senarai nama jadual, maka menggunakan pertanyaan jadual sistem sudah memadai jika anda perlu menanyakan data jadual, anda boleh menggunakan penyata SQL dan gelung dinamik.

Atas ialah kandungan terperinci pertanyaan oracle semua data jadual. 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:Oracle menetapkan nilai lalaiArtikel seterusnya:Oracle menetapkan nilai lalai