Question

J'ai besoin d'utiliser une requête d'ordre dynamique dans mysql et j'ai réussi à le faire grâce à la concaténation de chaînes dans mysql comme suit:

set @stmt_text: = concat ('select * from abc order by', commander );

préparez stmt_handle à partir de @stmt_text;

exécuter stmt_handle;

désallouer préparer stmt_handle;

J'ai besoin d'une méthode similaire pour convertir cela en mssql

Des idées?

Était-ce utile?

La solution

Oui, lancez-le comme ceci:

execute ('select * from abc order by ' + @sorder);

Mais n'oubliez pas que vous devez vérifier la variable de commande si vous l'obtenez via une entrée utilisateur (pour arrêter les injections SQL)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top