2010-12-15 74 views
2

Je crée une procédure stockée dans MySQL 5.1.40 qui doit exécuter beaucoup d'instructions SQL.MySQL :: Exécuter l'instruction SQL dans la variable

Une déclaration particulière qui est souvent répété efface une table temporaire:

DELETE FROM w_projection_temp WHERE user_id = uid; 

La variable uid est un paramètre IN pour la SP.

Est-il possible d'affecter cette instruction SQL entière à une autre variable, puis d'exécuter (évaluer?) Cette nouvelle variable? par exemple:

DECLARE clear_temp VARCHAR; 
SET clear_temp = 'DELETE FROM w_projection_temp WHERE user_id = uid;' 

MTIA

+0

pourquoi voulez-vous faire de cette dynamique - vous avez dès la première fois –

Répondre

2
PREPARE clear_temp FROM "DELETE FROM w_projection_temp WHERE user_id = ?" 
EXECUTE clear_temp USING uid; 
DEALLOCATE PREPARE clear_temp; 
+0

Un grand merci Ravi! – maxhugen