Parcourir plusieurs bases de données et exécuter un script SQL
Fermé
Erismzn63
Messages postés
1
Date d'inscription
jeudi 28 mars 2013
Statut
Membre
Dernière intervention
28 mars 2013
-
28 mars 2013 à 21:01
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 5 juil. 2014 à 12:35
Morgothal Messages postés 1236 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 19 mai 2015 - 5 juil. 2014 à 12:35
A voir également:
- Script sql exemple
- Script vidéo youtube - Guide
- Url exemple - Guide
- Tableau word exemple - Guide
- Sommaire word exemple - Guide
- Planning en 12h exemple - Télécharger - Outils professionnels
1 réponse
Morgothal
Messages postés
1236
Date d'inscription
jeudi 22 avril 2010
Statut
Membre
Dernière intervention
19 mai 2015
183
Modifié par Morgothal le 29/03/2013 à 10:10
Modifié par Morgothal le 29/03/2013 à 10:10
Bonjour,
En créant un curseur qui passe sur toutes les bases d'un serveur :
A+ !
-------------------
Cordialement,
Clément
En créant un curseur qui passe sur toutes les bases d'un serveur :
DECLARE @base varchar(20) DECLARE curseur CURSOR FOR SELECT name from master.sys.databases OPEN curseur FETCH curseur into @base WHILE @@FETCH_STATUS = 0 BEGIN print (@base) --select tes_champs from @base.ton_schéma.ta_table FETCH curseur INTO @base END CLOSE curseur DEALLOCATE curseur
A+ !
-------------------
Cordialement,
Clément
29 mars 2013 à 10:12
Modifié par Pierrick le 1/07/2014 à 16:42
Je rencontre néanmoins un soucis de syntaxe (Msg 102, Niveau 15, État 1, Ligne 8
Incorrect syntax near '.'.) lors de son implémentation dans mon environnement (SQL serveur 2005).
DECLARE @base varchar(20)
DECLARE curseur CURSOR FOR SELECT name from master.sys.databases where database_id >4 and name like '%ipm%'
OPEN curseur
FETCH curseur into @base
WHILE @@FETCH_STATUS = 0
BEGIN
print (@base)
select us_libelle from @base . dbo.UTILISAT where us_libelle like '%be%'
--select us_libelle from IPM_V9E12.dbo.UTILISAT where us_libelle like '%be%'
FETCH curseur INTO @base
END
CLOSE curseur
DEALLOCATE curseur
Pour info, la ligne en commentaire, qui utilise "en dur" le nom d'une des bases fonctionne très bien.
5 juil. 2014 à 12:35
Dans ton cas, je ferais comme ça :
(Il y a peut-être des erreurs de quotes)
A+