Questo è l'equivalente SQL di eval(my_string);
:
@Expression = 'SELECT "Hello, World!";';
PREPARE myquery FROM @Expression;
EXECUTE myquery;
Fondamentalmente ho combinato le risposte esistenti, né si dice come fare esattamente eval.
Se si desidera aggiungere i parametri, è possibile utilizzare questo:
@username = "test";
@password = "asdf";
@Expression = 'SELECT id FROM Users WHERE name = ? AND pass = ?;'
PREPARE myquery FROM @Expression;
EXECUTE myquery USING @username, @password;
E per rispondere alla domanda iniziale esattamente:
@Expression = 'SELECT "Hello, World!";'
PREPARE myquery FROM @Expression;
INSERT INTO Results
EXECUTE myquery;
Nota che la dichiarazione PREPARE ... FROM
vuole una variabile di sessione (con prefisso @
). Se cerchi di passare una variabile normale, solleverà le mani in aria e non gli interesserà.
Che cosa è '@ ads' nel tuo ultimo comando? –