Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Dynamisches MySQL mit lokalen Variablen

Entschuldigung, vorbereitete Anweisungen in MySQL sind sitzungsglobal. Gemäß http://dev.mysql .com/doc/refman/5.1/en/sql-syntax-prepared-statements.html , "Eine vorbereitete Anweisung gilt auch global für die Sitzung."

Und es gibt keine andere Möglichkeit (außer vorbereiteten Anweisungen), um dynamisches SQL in MySQL 5.x auszuführen.

Sie können also oben natürlich "@s" ersetzen, aber AFAIK bleiben Sie bei @SelectedId hängen.

In MySQL 6.x ist eine Funktion geplant, die eine "EXECUTE IMMEDIATE"-Anweisung hinzufügt, die dynamisches SQL ausführt. Siehe http://forge.mysql.com/worklog/task.php? id=2793 .