Job avec un nom de db variable [SQLSERVER] - SQL/NoSQL - Programmation
Marsh Posté le 24-08-2010 à 17:00:39
Je dois faire un job en deux steps: un pour un insert, un autre pour un update. Je récupère les DB's dans lesquelles je dois bosser en faisant:
USE GENREAL;SELECT c.dbName FROM clients WHERE flag IS NOT NULL
(c'est plus complexe que ça, je réduis pour plus de clarté) Puis je dois boucler sur les dbName pour lancer mes deux steps qui font des trucs du genre: step1
USE @dbName;INSERT INTO visitors ....SELECT ...LEFT JOIN PREFIX_'+@dbName+'_SUFFIX.requests ...
step2
USE @dbName;UPDATE visitors ....
(Il n'est pas primordial de le faire en deux steps, c'est juste pour plus de clarté) comment puis-je implémenter un truc pareil ? La j'en suis à tenter le left join PREFIX_'+@dbName+'_SUFFIX.requests en hardcodant @dbName mais ça ne marche pas
Marsh Posté le 25-08-2010 à 08:35:45
Tu dois ecrire toute ta query dans une variable et puis l'executer:
Declare @truc varchar(max)SET @truc = 'Use ' + @DBName + '; Select * From ' + @TABLEExec @truc
Make sure you enter the(*)required information where indicate.HTML code is not allowed
Marsh Posté le 24-08-2010 à 17:00:39
Je dois faire un job en deux steps: un pour un insert, un autre pour un update.
Je récupère les DB's dans lesquelles je dois bosser en faisant:
(c'est plus complexe que ça, je réduis pour plus de clarté)
Puis je dois boucler sur les dbName pour lancer mes deux steps
qui font des trucs du genre:
step1
step2
(Il n'est pas primordial de le faire en deux steps, c'est juste pour plus de clarté)
comment puis-je implémenter un truc pareil ?
La j'en suis à tenter le
left join PREFIX_'+@dbName+'_SUFFIX.requests
en hardcodant @dbName mais ça ne marche pas