2017-06-13 1 views
1
Actualiser

Je vues matérialisées rafraîchissent commandes telles que l'exécution dbms_mview.refresh (« Table_Name », « F ») et que vous souhaitez exécuter ces commandes ensemble à la fois.vues matérialisées de Informatica

Je veux actualiser les tables d'Informatica à l'aide PRESQL ou POSTSQL. Essayé de séparer les commandes en utilisant ";" et et "\;" Le journal de session affiche également les instructions SQL non valides. Nous utilisons la base de données Oracle et je suis capable d'exécuter ces commandes avec succès.

Est-il possible de les rafraîchir à l'aide d ' "exécuter dbms_mview.refresh ('Table_Name', 'F')" dans PRESQL? Existe-t-il un autre moyen de faire cela comme ajouter des commandes en début et en fin sans utiliser "execute"?

Merci :)

**** Ajout d'une solution de travail ****

+0

Pourquoi ne pas utiliser une transformation de procédure stockée configurée pour exécuter précharge alors vous pouvez mettre toutes les commandes de rafraîchissement de vue matérialisée dans cette procédure –

Répondre

0

Oui, il est possible, l'utilisation; comme séparateur de commande ...

Pouvez-vous le faire fonctionner avec une seule commande (pas de séparateur)? Regardez dans le journal de session pour voir la commande exacte en cours d'exécution, et lancez-la à partir d'un outil SQL pour obtenir un meilleur retour (et plus rapide) de la base de données.

Hope this helps

+1

J'ai essayé de les exécuter séparés par ";" et il indique des instructions SQL non valides dans le journal de session. Ces commandes fonctionnent correctement dans le développeur SQL. –

1

Voici la solution qui a fonctionné pour moi:

begin 
dbms_mview.refresh('VIEW_1','F')\; 
dbms_mview.refresh('VIEW_2','F')\; 
end\;