Voici mon problème.
Les Exec j'arrive à le faire, c'est simple et pratique, mais j'ai besoin de "mieux"![]()
J'aurais aimé pouvoir faire quelque chose de ce genre:
Mais quand je fais ça, j'ai une belle erreur du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DECLARE @Matable VarChar(250) SET @Matable = 'tTable' SELECT * FROM @Matable
J'ai aussi essayé avec [@Matable] mais ça ne fonctionne pas (même genre d'erreur).Server: Msg 137, Level 15, State 2, Line 3
Must declare the variable '@Matable'.
Vous me direz peut être "mais pourquoi vouloir utiliser ce principe" ?
Pour un curseur que je veux "dynamique", car le curseur n'accepte pas d'être défini avec un ordre Exec.
Bref c'est pour éviter de créer 80 procédures stockées qui auraient le même code à l'interne sauf les noms de table qui changent...
Je sais qu'avec Windev par exemple j'arrive à faire exécuter dynamiquement un code contenu dans une chaine... donc en principe c'est possible.
Ma question est : peut on le faire en sql server, si oui comment, si non: y a t'il une autre méthode?
Le but étant d'éviter de créer 80 procédures qui font le même travail à un détail près (ce détail étant le nom de la table)...
Merci d'avance.
Partager