Maison  >  Article  >  Opération et maintenance  >  Oracle interroge toutes les données de la table

Oracle interroge toutes les données de la table

WBOY
WBOYoriginal
2023-05-20 11:09:3713056parcourir

Dans la base de données Oracle, l'interrogation de toutes les données de la table peut être réalisée des manières suivantes.

  1. Utilisez les tables système pour interroger tous les noms de tables

Certaines tables système dans la base de données Oracle peuvent interroger tous les noms de tables. Grâce à ces noms de tables, vous pouvez interroger davantage les données de toutes les tables. Les tables système les plus couramment utilisées sont USER_TABLES, ALL_TABLES et DBA_TABLES.

  • Interrogez tous les noms de tables sous l'utilisateur actuel

Vous pouvez utiliser la table USER_TABLES pour interroger tous les noms de tables sous l'utilisateur actuel, comme indiqué ci-dessous :

SELECT TABLE_NAME FROM USER_TABLES;

Cette instruction SQL interrogera toutes les tables sous l'utilisateur actuel (connexion nom d'utilisateur.

  • Requête de tous les noms de table pour tous les utilisateurs

Si vous devez interroger tous les noms de table pour tous les utilisateurs, vous devez utiliser la table ALL_TABLES. La table ALL_TABLES contient tous les noms de table de tous les utilisateurs de la base de données, comme indiqué ci-dessous :

SELECT OWNER, TABLE_NAME FROM ALL_TABLES;

Cette instruction SQL interrogera tous les noms de table de tous les utilisateurs et renverra l'utilisateur (PROPRIÉTAIRE) auquel appartient chaque table.

  • Interrogez tous les noms de table dans l'ensemble de la base de données

Utilisez la table DBA_TABLES pour interroger tous les noms de table dans l'ensemble de la base de données Oracle, comme indiqué ci-dessous :

SELECT OWNER, TABLE_NAME FROM DBA_TABLES;

Remarque : L'interrogation de la table DBA_TABLES nécessite des privilèges d'administrateur.

Grâce à ces requêtes, vous pouvez obtenir la liste des noms de toutes les tables, puis utiliser des instructions de boucle pour interroger les données des tables une par une.

  1. Utilisez une instruction de boucle pour interroger toutes les données de la table

Une autre façon d'interroger toutes les données de la table consiste à utiliser une instruction de boucle pour interroger les données de la table une par une. Vous pouvez utiliser l'une des méthodes ci-dessus pour obtenir la liste des noms de toutes les tables, puis utiliser une instruction de boucle pour interroger les données de la table une par une. L'exemple est le suivant :

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;

Ce code utilisera une instruction de boucle de curseur pour. obtenez tous les noms de table sous l'utilisateur actuel un par un, puis utilisez SQL dynamique pour interroger toutes les données de chaque table.

Résumé :

Dans la base de données Oracle, vous pouvez interroger tous les noms de tables via les tables système, ou vous pouvez utiliser des instructions de boucle pour interroger les données de chaque table une par une. La méthode à utiliser dépend de la situation. Si vous avez uniquement besoin d'obtenir une liste de noms de tables, l'utilisation d'une requête de table système suffit ; si vous avez besoin d'interroger des données de table, vous pouvez utiliser des instructions SQL dynamiques et des boucles.

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