Comment faire pour récupérer le SQL utilisé pour créer une vue dans Oracle?
Dans Oracle, pour récupérer le SQL utilisé pour créer une Fonction, l'emballage, etc, le user_source vue peut être interrogée. Toutefois, les opinions ne sont pas inclus dans ce point de vue -, ni qu'ils existent dans le sous-jacent sys.source$
. Pour accéder au texte de vues, le user_views.text
colonne peut être utilisée, mais ce n'est pas exact parce que Oracle va ré-écrire certaines parties de la requête, par exemple, il va faire glob expansion.
Comment puis-je récupérer le SQL utilisé pour créer une vue, exactement comme il était entré, sans glob expansion?
Qu'est-ce que "glob expansion"?
En SQL, je pense que ce serait reportez-vous à l'expansion de la
En SQL, je pense que ce serait reportez-vous à l'expansion de la
*
pour inclure toutes les colonnes. La terminologie vient de l'utilisation des caractères génériques dans les chemins Unix.OriginalL'auteur Andrew | 2014-04-25
Vous devez vous connecter pour publier un commentaire.
Je pense que le texte original est perdu:
sera de retour que l'id de la colonne.
Intéressant, mais pour les vues matérialisées texte original est conservé.
eh bien, vous pouvez toujours faire une raisonnable de deviner où * était avant.
OriginalL'auteur vav
Vous pouvez utiliser la requête suivante:
ou vous pouvez utiliser ALL_VIEWS, comme dans
Références:
ALL_VIEWS sur la Base de données Oracle® Référence
OriginalL'auteur Joseph B
- Je utiliser dbms_metadata.get_ddl comme suit:
Voici les paramètre:
Il a un synonyme public. Pour les objets qui ne sont pas la propriété de l'utilisateur, on peut obtenir le système de privilège, SELECT_CATALOG_ROLE, et l'on peut voir tous les DDL pour tous les objets.
Dans Oracle SQL Developer, on peut voir le clob dans la fenêtre de résultats de requête (beaucoup de gens ont créé des utilitaires pour transformer clobs).
La plupart des IDE SQL outils ont certains DDL mode de visualisation, si DBMS_METADATA est ensemencé de base de données Oracle fonctionnalité (on n'a pas besoin d'un peu de fantaisie, cher outil).
OriginalL'auteur Patrick Bacon
Je pense que tant que développeur, l'intérêt de la vue est le "select" qui valide et exécutable, et de la façon la plus simple pour modifier une vue en utilisant une autre application comme pl/sql Developer ou en CRAPAUD.
la modification d'un objet dans la base de données oracle par l'éditeur de texte seulement comme sqlplus.exe prend du temps pour les tâches simples, et c'est un mal de tête façon de le faire.
OriginalL'auteur Eng. Samer T
Vous pouvez utiliser le dictionnaire de données de la vue V$SQL, V$TEXTESQL) pour voir les réels SQL entré.
Veuillez voir cette question relative à la.
OriginalL'auteur Joseph B