souhaitez exécuter plusieurs fichier de script SQL dans un aller avec dans SQLPLUS
Je dois exécuter plusieurs fichier de script SQL en une seule fois.
Comme à chaque fois, je dois écrire une commande SQLPLUS
SQL>@d:\a.txt SQL>@d:\a2.txt SQL>@d:\a3.txt SQL>@d:\a4.txt
est-il possible de mettre tous les fichiers dans un dossier & exécuter tous les fichier de script dans un aller sans manquer un seul fichier comme @d:\final.txt
ou @d\final.bat
avez-vous essayé windows fichier batch ? (ouvrez le bloc-notes, écrire les commandes en ligne de séquence par ligne) et puis enregistrez le fichier en tant que nom de fichier.chauve-souris (assurez-vous que vous avez sélectionné Tous les Fichiers à partir du bas de l'enregistrer dialogue. Exécuter le fichier de commandes en double-cliquant, doit faire l'affaire. Ou vous pourriez avoir besoin d'un peu d'avancée commandes de traitement par lots à l'intérieur que le fichier bat
OriginalL'auteur rahul jain | 2014-03-27
Vous devez vous connecter pour publier un commentaire.
Il n'existe pas de SQL*Plus de commande pour le faire, mais vous pouvez créer un script qui appelle tous les autres:
Ajouter la ligne suivante dans un fichier de commandes
Lorsque vous exécutez le fichier de commandes, il va créer un nouveau script nommé
all.sql
dans le même répertoire que le fichier de commandes est situé. Il va chercher tous les fichiers avec l'extension.sql
dans le même répertoire que le fichier de commandes est situé.Ensuite, vous pouvez exécuter tous les scripts à l'aide de
sqlplus user/pwd @all.sql
(ou de prolonger le fichier de commandes à l'appelsqlplus
après la création de laall.sql
script)j'ai exécuté le fichier de commandes. tous les.sql fichier est créé fine. j'ai ouvert ce fichier ce fichier de code @"D:\test_SQL\Patch03.01.486.txt" @"D:\test_SQL\Patch03.01.487.txt" @"D:\test_SQL\Patch03.01.488.txt" si je lance le fichier comme @tous.sql est que cela va bien fonctionner? j'ai pour exécuter ce tous les fichiers txt en prod
Cela m'aide beaucoup, super réponse
Fait amusant: si vous créez d'abord
all.sql
puis mettre tous *.les fichiers sql, vous finirez par avoirall.sql
pointant versall.sql
) Donc vous feriez mieux de supprimer cette référence afin d'éviter éternelle circulaire d'exécutionOriginalL'auteur a_horse_with_no_name
Quelques astuces et de commande peuvent vous aider à générer maître.fichier sql et vous pouvez exécuter à partir de cet emplacement.
Aller vers le répertoire parent maître ouvert.sql ouvrez à l'aide de notepad++
supprimer master.sql ligne et utiliser une expression régulière pour remplacer
aller à cmd
Cmd
Je trouve ce procédé très pratique si j'ai 30 à 40 scripts placés dans un répertoire unique.
OriginalL'auteur Manoj
Il pourrait être utile le temps d'écrire un script shell qui exécute plusieurs fichiers.
Pour en savoir plus sur la syntaxe, regarder dans Ici Le Document
OriginalL'auteur Eric
ici est similaire solution, mais vous n'avez pas à parcourir et spéciaux, ce qui créé un fichier sql noms. Vous composez un sql fichier et de l'exécuter une fois.
cat *.sql > temp.sql
.OriginalL'auteur Cyva
Si vous utilisez gnu linux, vous pouvez utiliser processus de substitution:
Alternativement, vous pouvez créer un
.pdc
fichier et la liste de vos scripts sql:et appel sql plus:
OriginalL'auteur carmellose
Pour Windows essayer
copier /b *.sql +x final.sql
sqlplus d'utilisateur/mot de passe @final.sql
OriginalL'auteur AmolG
Un Merci spécial à Joseph Torre
lien de référence
OriginalL'auteur vinay kumar reddy
Utilisation
*.PDC
extension de fichier comme ceciinstaller.pdc contenu du fichier
où
@@install/
points dans le répertoire est le script SQL situéOriginalL'auteur Jibo