Rumah >Operasi dan penyelenggaraan >operasi dan penyelenggaraan linux >pertanyaan oracle semua data jadual
Dalam pangkalan data Oracle, menanyakan semua data jadual boleh dicapai dengan cara berikut.
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.
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).
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. .
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.
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!