Je souhaite exécuter 200+ Sélectionnez les requêtes et appendez les résultats dans un fichier. Toutes les questions sont les mêmes la seule différence dans la variable de date-heure. Je n'ai pas de privilèges pour créer une routine c'est pourquoi j'ai dû créer toutes les questions. Je n'ai pas de privilèges pour créer une vue ou une autre table pour stocker les résultats. Je n'ai pas accès à PL / SQL. P>
Maintenant, j'ai besoin de créer un rapport avec les résultats de chacune de ces questions (tous les résultats sont des numéros entier) mais je ne semble pas trouver une autre solution, mais pour exécuter un à un et copier les résultats d'un par un. p>
L'un de vous, merveilleux cerveaux peut me donner une main sur cela? C'est un peu urgent. P>
3 Réponses :
Vous pouvez aboutir votre sortie dans un fichier. p>
voir le spool code >
(URL - Guide de l'utilisateur Oracle 10.2) Commande. P>
Aussi: p>
http://www.praetoriate.com/t_garmany_easysql_the_spool_command.htm P>
Et ce qui semble être quelques conseils de mise en page: p>
http://www.oracle.com/technology/oramag /code/tips2004/020904.html P>
Déjà essayé cela et cela n'a pas assez bien fonctionné. Il stocke la chaîne de requête et aussi, il pause si je rencontre 10 requêtes en même temps.
essayez définir echo off; code> avant d'exécuter la requête. Qui empêchent la chaîne de requête d'être affichée. Bien sûr, de
echo code> était au début du script, assurez-vous de le remettre à la fin. Toujours laisser les choses dans l'état que vous les avez trouvées;)
1 - Placez vos requêtes dans un fichier texte comme: 2 - Enregistrez-le quelque part (disons c: \ my_file.sql) p> 3 - Exécutez ceci à l'invite de commande: p> 4 - regardez à l'intérieur "OUTPUT.TXT" P> P>
Il aurait toujours besoin de Set Echo Off; Code> cependant, n'est-ce pas? Sinon, la chaîne de requête ne serait-elle pas dans la sortie?
Excellent Joseph. Va essayer celui-ci aussi. Merci!!
Bien que la requête ne soit pas dans la sortie, le nom de la colonne est. Y a-t-il un moyen d'y aller ??
@Daniel; J'ai modifié mon exemple avec la commande "Set Pagesize 0", qui supprimera les en-têtes de colonne. J'ai également ajouté l'argument "-s", qui supprime la bannière SQL Plus Intro.
Si vous avez accès à SQLPlus, vous pouvez exécuter des blocs PL / SQL anonymes.
DECLARE v_cnt number; BEGIN select ... into v_cnt ...; dbms_output.put_line(v_cnt); END; . spool out.log / spool off