Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

SQL Server : Exécuter un fichier de script SQL dans un autre script SQL

Si vous souhaitez exécuter un fichier de script SQL depuis un autre, c'est possible avec SQLCMD. Disponible depuis SQL Server2005, il succède à OSQL, qui a lui-même succédé à ISQL.
Il n'y a rien de plus simple. Dans votre premier fichier de script, il vous suffit d'ajouter l'élément suivant pour appeler un second fichier de script. Ce second fichier s'appelle ici « second.sql » :  
:r .\second.sql
On présumera que les fichiers sont situés dans le même répertoire. Les scripts ressembleront à ce qui suit.

Le contenu du fichier premier.sql
-- Contenu de premier.sql
PRINT 'Début premier'
:r .\second.sql
PRINT 'Fin Premier'
Le contenu du fichier second.sql
-- Contenu de second.sql
PRINT 'Début Second'
-- Ce que vous voulez ici
PRINT 'Fin Second'

Pour exécuter le fichier de script « premier.sql », faites appel à SQLCMD.EXE  avec la syntaxe suivante. Ici, le serveur est local et on utilise l’authentification Windows, c’est pour cela que je n’ai pas besoin d’argument supplémentaire.

sqlcmd -i premier.sql

Vous pouvez aussi tester cette fonction dans SQL Server Management Studio en cliquant sur « SQLCMD Mode » dans la barre d'outils. Option que vous retrouvez dans le menu « requêtes ».

Attention, il y a une limite qui est tout de même assez importante, le fichier de script SQL qui est exécuté est situé sur la machine où le script exécuté par SQLCMD est appelé. Dans mon exemple, c’est la même machine, mais suivant votre situation cela risque d’être une machine radicalement différente. Je vous conseille dans ce cas de passer par des chemins réseau qui sont visibles par toutes les machines depuis lesquelles vous exécuterez les scri

Pour approfondir le sujet, un article qui détaille quelques fonctionnalités supplémentaires de SQLCMD : http://www.sqlnco.ch/2011/09/sqlcmd-et-l-utilisation-de-variables-en-parametre-pour-rendre-ses-scripts-generique/

Bon codage…


Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Publié mardi 13 septembre 2011 10:00 par christian

Commentaires

Pas de commentaires
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- [PowerShell 3] Télécharger et installer la documentation en ligne par Blog de SPBrouillet (Pierrick BROUILLET) le il y a 17 heures et 43 minutes

- [#SharePoint 2010][#SQLServer 2012] AlwaysOn pour SharePoint (1/4) : Configuration (1ère partie)… par Le blog de Patrick [MVP SharePoint] le il y a 23 heures et 9 minutes

- Job Day @MIC Brussels - .Net Developers on Mobile applications par Le Blog (Vert) d'Arnaud JUND le 05-15-2012, 20:26

- [SharePoint 2010] – SharePoint 2010, Windows (Server) 8 et des erreurs IIS sont dans une VM… par Blog de SPBrouillet (Pierrick BROUILLET) le 05-14-2012, 12:10

- [Event] Windows Azure dev Camp le 20 juin! par Fathi Bellahcene le 05-13-2012, 09:29

- Comment redimensionner une image avec WinRT : plusieurs solutions par Richard Clark le 05-11-2012, 15:43

- Event : Swiss SharePoint Club Meeting #20 à Yverdon par Blog Technique de Romelard Fabrice le 05-11-2012, 15:24

- Réflechissons un peu ce matin à propos des ORM par Richard Clark le 05-11-2012, 08:48

- #SharePoint Solutions Roadshow le 5 juin à Issy ! par Le blog de Patrick [MVP SharePoint] le 05-09-2012, 15:10

- SharePoint : Mes alertes ne marchent pas … Que faire ? Comment réparer ou agir ? par The Mit's Blog le 05-08-2012, 14:59