2010-03-18 5 views
1

J'ai besoin de configurer certaines options SET dans le programme de ligne de commande Oracle SQLplus chaque fois que je l'utilise, comme SET HEADING OFF et les aime à embellir mes résultats. J'ai trouvé que je devais toujours entrer chaque ligne séparément donc Définir différentes options et cela devient ennuyeux car j'ai besoin d'y accéder plusieurs fois par jour.Ligne de commande Oracle SqlPlus: existe-t-il un moyen de concaténer les options de configuration?

je trouve qu'il n'y a aucun moyen de séparer différentes commandes SET avec des points-virgules, car il ne l'accepte pas:

SET HEADING OFF; SET LINESIZE 100; 

renvoie une erreur

Une solution pourrait être de les ajouter à un script de contrôle et créer un alias shell, mais je sais que les scripts de contrôle s'exécutent, puis sortent et ne vous renvoient pas le contrôle sur la ligne de commande.

Alors, quelqu'un connaît une autre solution? Ou est-ce que je manque quelque chose?

Répondre

1

Mettez toutes vos commandes dans un fichier ".sql" (par exemple "format.sql") puis exécutez-les avec la commande "@" dans Sql * plus (par exemple "@format"). Notez que le suffixe ".sql" est utilisé par défaut lors de la recherche du fichier de commandes.

Par exemple, si "format.sql" contient les commandes "set linesize 100" et "set pagesize 0":

% sqlplus 

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 18 08:39:03 2010 
Connected to: 
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production 
SQL> show linesize 
linesize 80 
SQL> @format 
SQL> show linesize 
linesize 100 
SQL> select 1+1 from dual; 
    2 
+0

Ce que je besoin est juste des options de configuration, j'exécuter des requêtes à la main puis, si Je les mets dans un fichier sql et j'utilise "@" puis je ne récupèrerai pas une ligne de commande pour entrer des requêtes. – OverLex

+0

Vraiment? Cela a toujours bien fonctionné pour moi - exécutez simplement la commande "@" à partir de l'invite SQL>, et vous restez dans SQLPlus lorsque le fichier de commande est terminé (je vais modifier un exemple dans ma réponse) –

+0

Merveilleux, ça marche, donc les deux fonctionne: le mien et le vôtre, votant le vôtre en répondant à ma question spécifique :) merci – OverLex

2

Ok, répondre à ma propre question: apprently il est possible de le faire:

SET HEADING OFF LINESIZE 100 PAGESIZE 0 xxx xxx 

Et aller sur les règles en ajoutant que l'on vient avec eux.

C'est une solution simple et efficace pour l'instant.

Questions connexes