2011-08-11 3 views
0

Puis-je utiliser une seule procédure stockée pour de nombreuses requêtes?Procédure stockée dans SQL Server

Comme ceci:

SELECT @var_name[0] from @table_name WHERE @con1 = @var_name[1] ; 
+0

** POURQUOI?!? ** Une bonne procédure stockée devrait être - comme n'importe quel extrait de code - centrée sur une tâche unique et clairement définie. Si vous avez 10 tâches différentes - pourquoi tout compresser en une seule procédure? Cela n'a aucun sens - du point de vue de la maintenabilité, ces procédures «faites-le-tout» qui font toutes sortes de choses différentes, selon leurs paramètres d'entrée, sont un cauchemar total. ** Ne le fais pas! ** N'y pense même pas .... –

+0

Merci pour vos commentaires. – thinzar

Répondre

2

Vous ne pouvez pas faire cela. Vous pouvez construire la requête dyamically avec quelque chose comme

EXEC('SELECT ' + @var_name + ' FROM ' + @table_name + ' WHERE ' + @Con1 + ' = ' + @var_name) 

Soyez conscient de la performance et les problèmes potentiels d'injection sql quand vous le faites bien.