Mysql
 sql >> Base de données >  >> RDS >> Mysql

MySQL dynamique avec des variables locales

Désolé, les instructions préparées dans MySQL sont globales à la session. Selon http://dev.mysql .com/doc/refman/5.1/en/sql-syntax-prepared-statements.html , "Une instruction préparée est également globale pour la session."

Et il n'y a pas d'autre moyen (à part les instructions préparées) d'exécuter du SQL dynamique dans MySQL 5.x.

Vous pouvez donc bien sûr remplacer "@s" ci-dessus, mais autant que je sache, vous êtes coincé avec @SelectedId.

Dans MySQL 6.x, une fonctionnalité est prévue qui ajoutera une instruction "EXECUTE IMMEDIATE" qui exécutera du SQL dynamique. Voir http://forge.mysql.com/worklog/task.php ? id=2793 .