Oracle
 sql >> Base de données >  >> RDS >> Oracle

Vue matérialisée et table du même nom

De la documentation :

Il est donc normal d'avoir la table et la vue matérialisée avec le même nom. Le MV doit stocker les données quelque part, il est donc logique d'avoir une table ; le MV lui-même définit alors comment les données de la table sont maintenues.

Vous pouvez utiliser le ON PREBUILT TABLE clause pour créer une vue sur une table existante, ce à quoi je suppose que "ils avaient une table temporaire plus tôt ... et sont passés à la vue matérialisée plus tard".

Vous pouvez également aller dans l'autre sens, avec le DROP MATERIALIZED VIEW ... PRESERVE TABLE possibilité , qui laisse derrière lui la table sous-jacente.

Lorsque vous SELECT * FROM TEMP_DATA; vous interrogez la table sous-jacente, mais la distinction n'est pas vraiment importante car ils font référence au même objet combiné.

En fonction de la définition ajoutée ultérieurement à la question, celle-ci sera actualisée tous les jours à minuit.