2009-05-05 7 views
0

je dois utiliser la requête de commande dynamique dans MySQL et j'ai réalisé avec succès que par concaténation de chaîne dans MySQL comme suit:convertir la procédure de MySQL stockée MSSQL

set @stmt_text: = concat ('select * from abc ordre par ', sorder);

Préparer stmt_handle à partir de @stmt_text;

exécuter stmt_handle;

deallocate Préparer stmt_handle;

i besoin d'une manière similaire pour convertir cela en MSSQL

Toutes les idées ??

Répondre

2

Oui, il suffit d'exécuter comme ceci:

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

Mais n'oubliez pas que vous devez vérifier la variable sorder si vous obtenez par l'entrée de l'utilisateur (pour arrêter sql-injections)

+0

apprécient il! mais ce serait beaucoup mieux si vous mais de cette façon exécutez ('select * from abc order by' + @sorder); –

+0

Oui, c'est ce que vous obtenez en l'écrivant hors de la mémoire :) –

Questions connexes