2017-05-30 9 views
0

Je suis en train de créer une vue matérialisée pour une base de données Oracle, mais que je reçois cette erreur:Pourquoi ne puis-je pas définir QUERY_REWRITE_ENABLED sur TRUE?

enter image description here

J'ai essayé de modifier la session et le système avec « alter ensemble de la session QUERY_REWRITE_ENABLED = VRAI "mais rien n'a fonctionné.

Une idée de ce qui pourrait mal se passer?

Mon code est:

create materialized view First 
refresh complete on commit 
enable query rewrite 
as 
select id,user_id 
from answers; 
+2

Quelle édition d'Oracle utilisez-vous? Pas la version, mais l'édition, comme dans "Standard", "Enterprise", etc. Voir ce que 'select * from v $ version' dit. Votre édition ne peut pas prendre en charge la réécriture de requête. – mathguy

+0

J'utilise l'édition Express – Andreea

+1

Alors c'est votre réponse. Faites une recherche sur https://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC109 pour le mot de recherche "rewrite". Vous constaterez que la réécriture de requête est uniquement disponible dans Enterprise Edition. En passant, si vous êtes en train d'apprendre, vous êtes autorisé à installer et utiliser l'édition Enterprise gratuitement. Pas si, cependant, pour un usage commercial. – mathguy

Répondre

2

L'OP précisé qu'elle utilise l'édition Express. Cela étant dit:

Faites une recherche sur https://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC110 pour le mot-clé "réécrire". Vous constaterez que la réécriture de requête est uniquement disponible dans Enterprise Edition. En passant, si vous êtes en train d'apprendre, vous êtes autorisé à installer et utiliser l'édition Enterprise gratuitement. Pas si, cependant, pour un usage commercial. La version actuelle disponible dans Express Edition est la 11.2, vous pouvez trouver la documentation correspondante pour les éditions Oracle 11.2, y compris l'édition Express, avec une recherche Google sur "Oracle 11.2". Éditions de base de données Oracle ".)